php666
@php666
PHP-макака

Как тестировать insert-ы в базу?

Есть тесты, которые грузят в базу данные - это один вид тестов.
Соответственно, в этом же классе надо сделать какие-то проверки, например, сколько записей добавлено:

function testUpdate(){}

function testCountRows(){}


При этом базу не надо захламлять - надо как-то очищать.
Трейт ларавела DatabaseTransactions выполняется на каждом тесте (методе) и это не решение - метод testCountRows уже ничего не покажет, произойдет откат транзакции.

Как поступить правильно?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 2
dark_tke
@dark_tke
Помогли? Отметь решением!
https://laravel.com/docs/5.8/database-testing
+ Можно сказать чтобы он не пересоздавал после каждого теста
Ответ написан
@jazzus
не тестировать в разных методах, связанные процессы. Тесты должны быть независимы, иначе на результат будут влиять предыдущие тесты и поддержка зависимостей между ними. setup класса позволит задать стартовые настройки.

При этом базу не надо захламлять

RefreshDatabase трейт.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы