LINUX.ORG.RU

История изменений

Исправление goingUp, (текущая версия) :

каждый отдельный тест запускаешь внутри БД-транзакции, в конце теста транзакцию откатываешь

Видел три подхода

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

Исправление goingUp, :

каждый отдельный тест запускаешь внутри БД-транзакции, в конце теста транзакцию откатываешь

Видел три подхода

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

Исходная версия goingUp, :

каждый отдельный тест запускаешь внутри БД-транзакции, в конце теста транзакцию откатываешь

Видел три подхода

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