Symfony 5.0.5 和 5.0.8 之間的某個地方例外LogicException:不支持在調(diào)用“Symfony\Bundle\FrameworkBundle\Test\WebTestCase::createClient()”之前啟動內(nèi)核,內(nèi)核只能啟動一次。生成。在 5.05 中,下面顯示的測試通過了。更新到 5.08 后測試失敗。雖然異常出現(xiàn)在 SO 的其他地方,但答案確實(shí)解決了當(dāng)前的問題。為了讓 5.08 通過這個和類似的測試,缺少什么?namespace App\Tests\Controller;use Liip\TestFixturesBundle\Test\FixturesTrait;use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;class AdminControllerTest extends WebTestCase{ use FixturesTrait; public function setup(): void { $this->fixtures = $this->loadFixtures([ 'App\DataFixtures\Test\OptionsFixture', 'App\DataFixtures\Test\NonprofitFixture', 'App\DataFixtures\Test\UserFixture', ]) ->getReferenceRepository(); $this->client = static::createClient(); // <-- this line causes failure $this->client->followRedirects(); $this->client->request('GET', '/login'); $this->client->submitForm('Sign in', [ 'email' => 'admin@bogus.info', 'password' => '123Abc', ]); } public function testLogin() { $this->client->request('GET', '/admin/dashboard'); $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); }...}
1 回答

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊
移動線$this->client = static::createClient();
在以下塊之前:
$this->fixtures = $this->loadFixtures([
'App\DataFixtures\Test\OptionsFixture',
'App\DataFixtures\Test\NonprofitFixture',
'App\DataFixtures\Test\UserFixture',
])
->getReferenceRepository();
load fixtures 正在引導(dǎo)內(nèi)核,如果它還沒有被引導(dǎo)的話。如果您先啟動它,則它不會執(zhí)行此操作。
它可能不應(yīng)該在 Symfony 5.05 中工作并且不確定它為什么會通過。
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)
0/150
提交
取消