Как выделить интеграционные тесты? - PullRequest
0 голосов
/ 25 июня 2018

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

Я не являюсьинтересуюсь ручным способом (@Before @After)

1 Ответ

0 голосов
/ 25 июня 2018

То, что мы делаем в моей компании, это то, что

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

Это прекрасно работает во многих сценариях, однако, это может быть проблематично, если вы попытаетесь протестировать части вашего приложения, которые работают с вложенными транзакциями.

...