{"id":27493,"date":"2017-04-09T11:51:23","date_gmt":"2017-04-09T09:51:23","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27493"},"modified":"2017-04-09T11:51:23","modified_gmt":"2017-04-09T09:51:23","slug":"phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/","title":{"rendered":"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/github.com\/spatie\/phpunit-snapshot-assertions\">phpunit-snapshot-assertions<\/a> &#8211; is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. \u00a0This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. \u00a0Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known good output of a previously created snapshot.<\/p>\n<p>This works well for generic text, but even better for widely used formats like JSON and XML, where, in case of a failed assertion, a meaningful difference can be provided.<\/p>\n<p>Here is <a href=\"https:\/\/hackernoon.com\/a-package-for-snapshot-testing-in-phpunit-2e4558c07fe3\">a blog post<\/a> providing some more details on philosophy and methodology.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>phpunit-snapshot-assertions &#8211; is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. \u00a0This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. \u00a0Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"PHPUnit Snapshot Assertions - a way to test without writing actual test cases #WebDev #PHP #PHPUnit #testing #API #XML #JSON","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[2404,3306,38,3492,3074,1108,1330,277],"keyring_services":[],"class_list":["post-27493","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-api","tag-json","tag-php","tag-phpunit","tag-quality-assurance","tag-testing","tag-web-development","tag-xml"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-04-09T09:51:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-04-09T09:51:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#blogposting\",\"name\":\"PHPUnit Snapshot Assertions \\u2013 a way to test without writing actual test cases - Leonid Mamchenkov\",\"headline\":\"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2017-04-09T11:51:23+02:00\",\"dateModified\":\"2017-04-09T11:51:23+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology, Web work, API, JSON, PHP, PHPUnit, quality assurance, testing, web development, XML\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#listItem\",\"name\":\"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#listItem\",\"position\":4,\"name\":\"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/\",\"name\":\"PHPUnit Snapshot Assertions \\u2013 a way to test without writing actual test cases - Leonid Mamchenkov\",\"description\":\"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/04\\\/09\\\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2017-04-09T11:51:23+02:00\",\"dateModified\":\"2017-04-09T11:51:23+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov","description":"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#blogposting","name":"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov","headline":"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2017-04-09T11:51:23+02:00","dateModified":"2017-04-09T11:51:23+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#webpage"},"articleSection":"All, Programming, Technology, Web work, API, JSON, PHP, PHPUnit, quality assurance, testing, web development, XML"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#listItem","name":"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#listItem","position":4,"name":"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/","name":"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov","description":"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2017-04-09T11:51:23+02:00","dateModified":"2017-04-09T11:51:23+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov","og:description":"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known","og:url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2017-04-09T09:51:23+00:00","article:modified_time":"2017-04-09T09:51:23+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"PHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases - Leonid Mamchenkov","twitter:description":"phpunit-snapshot-assertions - is an interesting addition to the PHPUnit assertions which allows testing against previously created snapshots. This is particularly useful for testing the outputs of API end-points, format conversion functions, and the like. Instead of testing the actual functionality, these assertions allow to compare the output of the current test run with the known","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"27493","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 01:55:31","updated":"2026-01-15 12:51:45","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPHPUnit Snapshot Assertions \u2013 a way to test without writing actual test cases\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27809,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/07\/29\/improving-the-output-of-phpunit\/","url_meta":{"origin":27493,"position":0},"title":"Improving the output of PHPUnit","author":"Leonid Mamchenkov","date":"July 29, 2017","format":false,"excerpt":"Via \"Improving the output of PHPUnit\" I've learned about\u00a0PHPUnit Emoji Result Printer. \u00a0Obviously, this sounds like fun, but I'm also sure there is some really smart way of using this. Too bad I couldn't try it on one of our work projects just yet, as this requires PHPUnit 6+, while\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/07\/phpumoji-500x127.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":18239,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/05\/27\/ua-testing-with-selenium-and-phpunit\/","url_meta":{"origin":27493,"position":1},"title":"UA Testing with Selenium and PHPUnit","author":"Leonid Mamchenkov","date":"May 27, 2013","format":"link","excerpt":"UA Testing with Selenium and PHPUnit","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28455,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/26\/atoum-modern-simple-and-intuitive-php-unit-testing-framework\/","url_meta":{"origin":27493,"position":2},"title":"atoum &#8211; modern, simple and intuitive PHP unit testing framework","author":"Leonid Mamchenkov","date":"March 26, 2018","format":false,"excerpt":"With all the hype around the quality assurance and testing tools for PHP, I wonder how did I miss atoum.\u00a0 Atoum is a modern, simple and intuitive unit testing framework for PHP.\u00a0 From a quick look around, it seems to be a lot simpler than PHPUnit and I definitely need\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":34326,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/15\/tips-to-speed-up-your-phpunit-tests\/","url_meta":{"origin":27493,"position":3},"title":"Tips to Speed up Your PHPunit Tests","author":"Leonid Mamchenkov","date":"February 15, 2019","format":false,"excerpt":"I came across this collection of \"Tips to Speed up Your PHPunit Tests\". Apart from the few usual ones, like disabling XDebug and using groups, I found a couple that linked to handy tools: ParaTest - a PHPUnit extension that runs PHPUnit tests in parallel, significantly minimizing the test run\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/fix-slow.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/fix-slow.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2019\/02\/fix-slow.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":27289,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/03\/preparing-for-the-phpunit-6-and-php-7\/","url_meta":{"origin":27493,"position":4},"title":"Preparing for the PHPUnit 6 and PHP 7","author":"Leonid Mamchenkov","date":"February 3, 2017","format":false,"excerpt":"If you woke up today and found that most of your PHP projects' and libraries' tests break and fail, I have news for you: \u00a0you are doing something wrong. \u00a0How do I know? \u00a0Because I was doing something wrong too... First of all, let me save you all the extra\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/travis-phpunit-500x317.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27320,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/10\/php-assertions\/","url_meta":{"origin":27493,"position":5},"title":"PHP assertions","author":"Leonid Mamchenkov","date":"February 10, 2017","format":false,"excerpt":"When I hear the word \"assertion\", the first thing that comes to my mind is PHPUnit assertions. \u00a0Sure, I write assertions in my unit tests. \u00a0But is that the only application? \u00a0Today I decided to figure it out, or, at least, learn more about the subject. It turns out that\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27493"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27493\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27493"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}