php-arsenal / symfony-mongo-testing-foundation
Foundation classes for Symfony and MongoDB ODM testing
Installs: 4 303
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 2
pkg:composer/php-arsenal/symfony-mongo-testing-foundation
Requires
- php: >=8.0
- ext-json: *
- doctrine/mongodb-odm-bundle: ^4.3
- php-arsenal/faker: ^1.9
- phpunit/phpunit: ^9.5
- spatie/phpunit-snapshot-assertions: ^4.2
- symfony/framework-bundle: ^5.2
Provides
- ext-mongo: *
README
PhpUnit Symfony Unit, Functional, Integration test cases (+MongoDB)
composer require --dev php-arsenal/symfony-mongo-testing-foundation
Setup
Define MONGODB_DB of your test database in .env.test
Example tests/autoload.php:
<?php $rootDir = realpath(__DIR__.'/..'); require $rootDir.'/vendor/autoload.php'; use Symfony\Component\Dotenv\Dotenv; $dotenv = (new Dotenv())->usePutenv(true); $dotenv->load("$rootDir/.env"); $dotenv->load("$rootDir/.env.test"); if (file_exists("$rootDir/.env.test.local")) { $dotenv->load("$rootDir/.env.test.local"); }
Features
Extend the following for your tests respectivelly as needed:
- PhpArsenal\SymfonyMongoTestingFoundation\UnitTestCase
- PhpArsenal\SymfonyMongoTestingFoundation\FunctionalTestCase
- PhpArsenal\SymfonyMongoTestingFoundation\IntegrationTestCase
Traits:
- DatabaseTraithandles commond DocumentManager functions and clears the test database upon test start.
- FakerTraitgives you access to the faker to help you generate data for tests
- LoggerTraitgives you easy access to the logger if necessary