php-arsenal / symfony-mongo-testing-foundation
Foundation classes for Symfony and MongoDB ODM testing
1.0.2
2023-09-27 14:45 UTC
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:
DatabaseTrait
handles commond DocumentManager functions and clears the test database upon test start.FakerTrait
gives you access to the faker to help you generate data for testsLoggerTrait
gives you easy access to the logger if necessary