phpunit-injector
BrainMonkey
phpunit-injector | BrainMonkey | |
---|---|---|
1 | 1 | |
61 | 288 | |
- | 1.4% | |
4.0 | 5.1 | |
3 months ago | about 2 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.
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:
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.
What are some alternatives?
doctrine-test-bundle - Symfony bundle to isolate your app's doctrine database tests and improve the test performance
PHPUnit-Polyfills - Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests
Symfony DI - Allows you to standardize and centralize the way objects are constructed in your application
wp-phpunit - WordPress core PHPUnit library. [READ ONLY] Versions for new WordPress releases are built daily.
php-ddd-example - 🐘🎯 Hexagonal Architecture + DDD + CQRS in PHP using Symfony 6
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).
wp_mock - WordPress API Mocking Framework
Prophecy - Highly opinionated mocking framework for PHP 5.3+
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.
phpunit-architecture-test - PHPUnit Application Architecture Test. For architecture tests