phpunit-injector
doctrine-test-bundle
Our great sponsors
phpunit-injector | doctrine-test-bundle | |
---|---|---|
1 | 5 | |
61 | 1,050 | |
- | - | |
4.0 | 7.0 | |
3 months ago | about 1 month 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:
doctrine-test-bundle
-
Just started with Symfony after Laravel, and wanted to ask you guys, how to use database in testing, like in Laravel with Factories for generating own data for each test and database trait for purging data after each test?
If you want to reset the state of the database after each test: https://github.com/dmaicher/doctrine-test-bundle
-
How do you setup a database for testing with Symfony and Docker?
I use my development database connection and the DAMA Doctrine test bundle, it rollbacks everything between tests.
-
Tips for testing the database in Symfony application
👉 Enable the PHPunit listner in phpunit.xml.dist: example for php7.4, more config info
-
Functional testing optimization
Aaaaand that's one of the reasons for which I developed https://github.com/facile-it/paraunit years ago and I use https://github.com/dmaicher/doctrine-test-bundle...
-
Vimeo Engineering: The great pretender – faster application tests with MySQL simulation
It's similar to Paratest that Laravel is now using, but on itself it doesn't solve the DB issue, so I first wrote an adhoc solution, then I discovered this great package: https://github.com/dmaicher/doctrine-test-bundle
What are some alternatives?
Symfony DI - Allows you to standardize and centralize the way objects are constructed in your application
paraunit - Run PHPUnit tests in parallel
php-ddd-example - 🐘🎯 Hexagonal Architecture + DDD + CQRS in PHP using Symfony 6
gh-ost - GitHub's Online Schema-migration Tool for MySQL
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).
Symfony-RDM - Helps with the use of domain driven design & rich domain model in symfony / doctrine applications.
Prophecy - Highly opinionated mocking framework for PHP 5.3+
auditor-bundle - The missing audit log library
BrainMonkey - Mocking utility for PHP functions and WordPress plugin API
msgphp - Reusable domain layers. Shipped with industry standard infrastructure.
phpunit-architecture-test - PHPUnit Application Architecture Test. For architecture tests