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