BrainMonkey
Mockery
BrainMonkey | Mockery | |
---|---|---|
1 | 3 | |
288 | 10,565 | |
1.4% | 0.1% | |
5.1 | 9.4 | |
2 months ago | 8 days ago | |
PHP | PHP | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BrainMonkey
-
How Are Y'All Unit Testing Your WordPress Code (If You Are)
Check out brain monkey - it is my preferred mocking utility these days instead of WP_Mock.
Mockery
-
I share my authentication server.
Continuous Integration - Testify, sqlmock, Mockery, Github Actions
-
Test doubles
Mockery is another framework for creating test doubles. It can be used with PHPUnit, phpspec, Behat, or any other testing framework. I find it especially powerful when working with legacy code, due to its support for creating partial mocks or mocking hard dependencies.
-
Testing with immutable PSR-7 objects and Prophecy
This works great if a method is tested that modifies and returns an object; we'll get an instance of that object and we are able to run all sorts of assertions on it. But what if this is not the case. What if we have a situation where a value object is passed as a parameter, some modifications are done and the value object is passed to another object. Something like the middleware from the example earlier. Some testing frameworks like Mockery offer spies to test these situations. When using Prophecy this situation can be handled using Argument::that():
What are some alternatives?
PHPUnit-Polyfills - Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests
Prophecy - Highly opinionated mocking framework for PHP 5.3+
phpunit-injector - Injects services from a PSR-11 dependency injection container to PHPUnit test cases
PHPUnit - The PHP Unit Testing framework.
wp-phpunit - WordPress core PHPUnit library. [READ ONLY] Versions for new WordPress releases are built daily.
Faker
wp_mock - WordPress API Mocking Framework
AspectMock - The most powerful and flexible mocking framework for PHPUnit / Codeception.
bh-wp-bitcoin-gateway - Self-custody Bitcoin payment gateway for WooCommerce. Bitcoin is paid directly into your wallet. Transactions are verified using public APIs. No private keys are stored on the server. No account is needed with any third party.
Phake - PHP Mocking Framework
Codeception - Full-stack testing PHP framework
PHP-Mock: mocking built-in PHP functions - Mock built-in PHP functions (e.g. time(), exec() or rand())