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