我在phpunit.xml中的phpunit env设置在我的测试中无法持久保存。
我运行php artisan config:clear
。
然后phpunit ./tests/Browser/NotesTest.php --filter a_user_can_delete_notes
。
它启动我的sqlite“ testing_browser”数据库。我看到它增长到36 kb。 但是它使用的是我真正的宅基地数据库,即“ .env”中定义的数据库。
phpunit.xml中的env设置:
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="DB_CONNECTION" value="testing_browser"/>
</php>
样本测试:
public function a_user_can_delete_notes()
{
$user = factory(User::class)->create();
$notes = factory(Note::class, 2)->create([
'user_id' => $user->id
]);
$this->browse(function (Browser $browser) use ($user, $notes) {
$browser->loginAs($user)
->visit(new NotesPage)
->pause(500);
foreach ($notes as $note) {
$browser->click('.notes .list-group-item:nth-child(2) a:nth-child(2)')
->pause(1000)
->assertSeeIn('.alert', 'Your note has been deleted.')
->assertDontSeeIn('.notes', $note->title);
}
$browser->pause(500)
->assertSeeIn('.notes', 'No notes yet');
});
}
PHPUnit 6.5.14
laravel / framework 5.4