phpunit env设置无法通过测试持久化

时间:2019-10-18 12:35:25

标签: laravel phpunit laravel-dusk

我在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

0 个答案:

没有答案