Laravel тест жизненного цикла крюк - PullRequest
0 голосов
/ 30 октября 2019

У меня есть черта, которая записывает активность на созданном хуке жизненного цикла. В моем тестовом классе, если я выполню какой-либо один отдельный тест с RefreshDatabase, он не сможет сказать, что таблица пуста. Если я запускаю тест без RefreshDatabase, он проходит, но в следующий раз не проходит по очевидным причинам. Если я запускаю весь тестовый класс с RefreshDatabase, то только первый отказывает, а остальные проходят. Если я запускаю весь тестовый класс без RefreshDatabase, первый проходит успешно, а остальные терпят неудачу из-за очевидных причин (ошибки дублирующегося ключа).

Вот один из тестов, работающих таким образом:

    /** @test */
    public function user_can_access_their_own_activity()
    {
        $this->jsonAs($this->user, 'POST', route('team.store'), [
            'display_name' => 'Test Team',
        ])->assertStatus(200);

        $this->assertDatabaseHas('activities', [
            'user_id' => $this->user->getKey(),
            'type' => 'created_team',
        ]);

        $response = $this->jsonAs($this->user, 'GET', route('activity.index'))
            ->assertStatus(200);

        $response->assertJsonFragment([
            'type' => 'created_team',
            'uuid' => $this->user->uuid,
        ]);
    }

Если мне нужно поделиться какой-либо дополнительной информацией, пожалуйста, дайте мне знать. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...