@chubaroid

Как в Laravel отключить автоматическую отчистку БД при тестировании?

У меня есть feature тест для проверки механизма регистрации и авторизации. В классе теста есть 2 метода. Первый метод производит проверку регистрации, записывает данные в БД. Второй метод осуществляет авторизацию. Но чтобы второй метод работал, нужно повторно проводить внутри этого метода регистрацию. Как сделать, чтобы после выполнения первого метода БД не очищалась от предыдущего теста, а второй тест уже работал с данными в БД, которые были записаны в предыдущем тесте?

Если я вообще не так осуществляю проверку, пожалуйста, направьте на путь истинный) Я только учусь!

/**
     * Проверка системы регистрации
     * @test
     */
    public function registration()
    {
        $this->get('/registration')->assertStatus(200);

        $response = $this->post('/registration', ['email' => $this->email, 'password' => $this->password]);

        $response->assertRedirect('/login');

        $this->assertDatabaseHas('users',  ['email' => $this->email]);

    }

    /**
     * Проверка системы авторизации
     * @test
     */
    public function login() // для работы этого теста приходится снова в это методе прописывать регистрацию
    {
        $this->get('/login')->assertStatus(200);

        $response = $this->post('/login', ['email' => $this->email, 'password' => $this->password]);

        $response->assertRedirect('/');

        $this->assertAuthenticated();
    }
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы