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\UnitTestCasePhpArsenal\SymfonyMongoTestingFoundation\FunctionalTestCasePhpArsenal\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 testsLoggerTraitgives you easy access to the logger if necessary