Зачем использовать тестовые комплекты JUnit?
Я собираюсь выполнить некоторые модульные тесты, используя JUnit в некоторых предстоящих задачах для работы. У меня небольшой опыт работы с JUnit у моего предыдущего работодателя, но пока я учился, я сталкивался с наборами тестов. Я не знаю, использую ли я их, но меня особенно интересовало, почему они даже существуют.
Может ли кто-нибудь дать мне практическую ситуацию, когда я когда-либо захочу использовать тестовый пакет, а также, какие преимущества имеют использование тестовых наборов, а не просто использование различных независимых тестов?
EDIT: Я чувствую, что этот вопрос не дублируется, поскольку другие ответы на подобные вопросы дают общее определение или фрагмент кода (насколько я мог видеть), и я ищу более практичное использование апартаментов с точки зрения дизайна. Я хотел бы знать, почему объединение тестов вместе может быть хорошей идеей или почему это может быть и т.д.
Ответы
Ответ 1
Suites позволяют запускать несколько тестовых классов, где вы можете выполнять процедуры до и после всего пакета.
Тестирование, требующее настройки базы данных, приходит на ум,
- загрузить базу данных в память (вы не можете позволить себе это делать до и после каждого unit test)
- Запустить все тестовые примеры
-
Выгрузите в память базу данных, когда весь пакет сделан.
@RunWith(Suite.class)
@Suite.SuiteClasses({
MyUnitTests.class
})
public class MySuiteTest {
@ClassRule
public static H2TestRule h2TestRule = new H2TestRule();
}
Здесь H2TestRule
является Rule
для всего пакета, а не для одного тестового примера.