1

我再次与 Symfony v2.7 中的 Liip/LiipFunctionalTestBundle 苦苦挣扎。我有两个测试,除了通过这个包加载固定装置之外什么都不做。如果我在两个类中加载相同的夹具类,第二个尝试提交他的夹具两次!如果固定装置不同,一切都很好。

有人对这个捆绑包有经验吗?

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'
4

1 回答 1

1

除了描述的错误之外,我切换到了推荐的 SQLite DB,它运行良好。但是启用 cache_sqlite_db 解决了我的问题。这对我来说似乎是一个错误,但至少它现在正在工作。

于 2015-10-25T19:10:30.937 回答