Symfony v2.7 の Liip/LiipFunctionalTestBundle で再び苦労しています。このバンドルを介してフィクスチャをロードするだけの 2 つのテストがあります。両方のクラスに同じフィクスチャ クラスをロードすると、2 番目のクラスがフィクスチャを 2 回コミットしようとします。備品が異なっていれば、すべて問題ありません。
誰かがこのバンドルの経験がありますか?
use Liip\FunctionalTestBundle\Test\WebTestCase as WebTestCase;
class AgencyControllerTest extends WebTestCase
{
public function testOne()
{
$this->loadFixtures([
'Barra\AdminBundle\DataFixtures\ORM\LoadUserData',
]);
}
public function testTwo()
{
$this->loadFixtures([
'Barra\AdminBundle\DataFixtures\ORM\LoadUserData',
'Barra\AdminBundle\DataFixtures\ORM\LoadAgencyData',
]);
}
test.log 抽出
doctrine.DEBUG: DELETE FROM Agency [] []
doctrine.DEBUG: DELETE FROM AppUser [] []
[...]
doctrine.DEBUG: "START TRANSACTION" [] []
doctrine.DEBUG: INSERT INTO AppUser (...) {..1..} []
doctrine.DEBUG: INSERT INTO AppUser (...) {..2..} []
doctrine.DEBUG: INSERT INTO AppUser (...) {..3..} []
doctrine.DEBUG: "COMMIT" [] []
doctrine.DEBUG: DELETE FROM Agency [] []
doctrine.DEBUG: DELETE FROM AppUser [] []
[...]
doctrine.DEBUG: "START TRANSACTION" [] []
doctrine.DEBUG: INSERT INTO Agency (...) {..1..} []
doctrine.DEBUG: INSERT INTO Agency (...) {..2..} []
doctrine.DEBUG: INSERT INTO Agency (...) {..3..} []
doctrine.DEBUG: INSERT INTO AppUser (...) {..1..} []
doctrine.DEBUG: INSERT INTO AppUser (...) {..2..} []
doctrine.DEBUG: INSERT INTO AppUser (...) {..3..} []
doctrine.DEBUG: INSERT INTO AppUser (...) {..1..} [] <---
[2015-10-25 11:39:09] doctrine.DEBUG: "ROLLBACK" [] []
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'UNIQ_8105EAD692FC23A8'