adrien/fixtures-for-tests
Composer 安装命令:
composer require adrien/fixtures-for-tests
包简介
A set of traits to be used in test cases to load fixtures.
README 文档
README
A set of traits to be used in test cases
Install
Via Composer
$ composer require adrien/fixtures-for-tests
Usage
- Use the
FixtureLoaderTraitto add a fixture loading shortcut method. - Use the
FixtureAttachedTraitwithin aKernelTestCaseextending class to have fixture loaded automatically before each tests.
Exemple using PHPUnit + Symfony's KernelTestCase :
<?php namespace SomeNamespace\Test; use Adrien\FixturesForTests\FixtureAttachedTrait; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; class SomeFeatureTest extends KernelTestCase { use FixtureAttachedTrait; public function testItDoesWhatIsExpected(): void { $dummy = $this->fixtureRepository->getReference('my_dummy'); // ... } }
<?php namespace SomeNamespace\Test; use App\Entity\SomeEntity; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Persistence\ObjectManager; class SomeFeatureFixture extends AbstractFixture { public function load(ObjectManager $manager): void { $dummy = new SomeEntity(); $dummy->setSomething('something'); $manager->persist($dummy); $manager->flush(); $this->referenceRepository->addReference('my_dummy', $dummy); } }
Exemple using Behat (with PHPCR) :
<?php namespace SomeNamespace\Behat; use Adrien\FixturesForTests\FixtureLoaderTrait; use Behat\Behat\Context\Context; use Doctrine\ODM\PHPCR\DocumentManager; class FeatureContext implements Context { use FixtureLoaderTrait; /** @BeforeScenario */ public function prepareScenarioFixtures() { $persistenceManager = new DocumentManager(/*...*/); $this->loadFixture($persistenceManager, new SomeScenarioFixture()); } }
<?php namespace SomeNamespace\Behat; use App\Entity\SomeEntity; use Doctrine\Common\DataFixtures\FixtureInterface; use Doctrine\Persistence\ObjectManager; class SomeFeatureFixture implements FixtureInterface { public function load(ObjectManager $manager): void { $dummy = new SomeEntity(); $dummy->setSomething('something'); $manager->persist($dummy); $manager->flush(); } }
Contributing and testing
$ composer update --prefer-lowest --prefer-source $ ./vendor/bin/phpunit
Please maintain the test suite : if you add a feature, prove the new behavior; if you fix a bug, ensure the non-regression.
统计信息
- 总下载量: 1.64k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-05-16