{"id":28455,"date":"2018-03-26T10:07:15","date_gmt":"2018-03-26T08:07:15","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=28455"},"modified":"2018-03-26T10:07:15","modified_gmt":"2018-03-26T08:07:15","slug":"atoum-modern-simple-and-intuitive-php-unit-testing-framework","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/26\/atoum-modern-simple-and-intuitive-php-unit-testing-framework\/","title":{"rendered":"atoum &#8211; modern, simple and intuitive PHP unit testing framework"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>With all the hype around the quality assurance and testing tools for PHP, I wonder how did I miss <a href=\"http:\/\/atoum.org\/\">atoum<\/a>.\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 to find some time to give it a go.<\/p>\n<p>Also, here&#8217;s a <a href=\"https:\/\/mnt.io\/2018\/02\/26\/how-automattic-partly-moved-away-from-phpunit-to-atoum\/\">blog post<\/a> that describes how Automattic moved from PHPUnit to atoum, which makes a lot of sense (you know what I&#8217;m talking about if you ever tried to write PHPUnit tests for WordPress projects).<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>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 to find some time to &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/26\/atoum-modern-simple-and-intuitive-php-unit-testing-framework\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">atoum &#8211; modern, simple and intuitive PHP unit testing framework<\/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_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"atoum - modern, simple and intuitive PHP unit testing framework #WebDev #PHP #WordPress #testing #QA","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},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334,60],"tags":[38,3492,3074,1108,1330],"keyring_services":[],"class_list":["post-28455","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","category-wordpress","tag-php","tag-phpunit","tag-quality-assurance","tag-testing","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18239,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/05\/27\/ua-testing-with-selenium-and-phpunit\/","url_meta":{"origin":28455,"position":0},"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":28559,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/05\/08\/composer-plugin-qa-composer-plugin-for-php-quality-assurance-tools\/","url_meta":{"origin":28455,"position":1},"title":"composer-plugin-qa &#8211; Composer Plugin for PHP Quality Assurance Tools","author":"Leonid Mamchenkov","date":"May 8, 2018","format":false,"excerpt":"composer-plugin-qa is a Composer plugin which adds all the most popular PHP quality assurance tools as composer scripts, so that you don't have to install and set them up one by one.\u00a0 The list of tools includes the following: PHPUnit: Testing Framework PHPCOV: CLI frontend for the\u00a0PHP_CodeCoverage Paratest: Parallel testing\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\/2018\/05\/composer-plugin-qa-500x296.jpeg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27493,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/phpunit-snapshot-assertions-a-way-to-test-without-writing-actual-test-cases\/","url_meta":{"origin":28455,"position":2},"title":"PHPUnit Snapshot Assertions &#8211; a way to test without writing actual test cases","author":"Leonid Mamchenkov","date":"April 9, 2017","format":false,"excerpt":"phpunit-snapshot-assertions - 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\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":27289,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/03\/preparing-for-the-phpunit-6-and-php-7\/","url_meta":{"origin":28455,"position":3},"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":27454,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/26\/phpqa-all-in-one-analyzer-cli-tool\/","url_meta":{"origin":28455,"position":4},"title":"PHPQA all-in-one Analyzer CLI tool","author":"Leonid Mamchenkov","date":"March 26, 2017","format":false,"excerpt":"PHPQA all-in-one Analyzer CLI tool. \u00a0This project bundles together all the usual PHP quality control tools, and then some. \u00a0It simplifies the installation and configuration of the tools and helps developers to push up the quality control bar on their projects. The tools currently included are: PHP Parallel Lint PHP\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\/03\/phplint-500x390.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":34326,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/02\/15\/tips-to-speed-up-your-phpunit-tests\/","url_meta":{"origin":28455,"position":5},"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":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28455","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=28455"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/28455\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=28455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=28455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=28455"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=28455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}