BrainMonkey
phpunit-injector
BrainMonkey | phpunit-injector | |
---|---|---|
1 | 1 | |
288 | 61 | |
1.4% | - | |
5.1 | 4.0 | |
2 months ago | 3 months ago | |
PHP | PHP | |
MIT License | MIT 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.
phpunit-injector
-
Testing with immutable PSR-7 objects and Prophecy
This unit test will fail when ran against the implementation from earlier. And in this situation a failing test is a good thing. But for this specific situation another "issue" has made it's way into the testcase; the unit test is now depending on the implementation that is being used for PSR-7. When working in a large codebase - like I currently am - one might have more than just a few usages of these interfaces and thus unit tests. Using the suggested approach, instantiating value objects instead of prophesizing, will lead to a large amount of object instantiations. And this will make switching to another implementation more work. Ideally this instantiating is centralized as much as possible. This is exactly why PSR-17 - HTTP Factories - was introduced. Typically dependencies - like these factories - are injected. For unit tests this is not feasible without plugins. My solution is a bit less fancy; a trait:
What are some alternatives?
PHPUnit-Polyfills - Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests
doctrine-test-bundle - Symfony bundle to isolate your app's doctrine database tests and improve the test performance
wp-phpunit - WordPress core PHPUnit library. [READ ONLY] Versions for new WordPress releases are built daily.
Symfony DI - Allows you to standardize and centralize the way objects are constructed in your application
Mockery - Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL).
php-ddd-example - 🐘🎯 Hexagonal Architecture + DDD + CQRS in PHP using Symfony 6
wp_mock - WordPress API Mocking Framework
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.
Prophecy - Highly opinionated mocking framework for PHP 5.3+
phpunit-architecture-test - PHPUnit Application Architecture Test. For architecture tests