Наверняка все знакомы с таким понятием как
test-driven development(TDD). Наряду с ним также существует такое понятие, как
data-driven testing(DDT, не в обиду Шевчуку) — техника написания тестов, при которой данные для тестов хранятся отдельно от самих тестов. Они могут храниться в базе данных, файле, генерироваться во время исполнения теста. Это очень удобно, так как один и тот же функционал тестируется на различных наборах данных, при этом добавление, удаление или изменение этих данных максимально упрощено.
В
предыдущей статье я рассмотрел возможности
JUnit-а. Там примерами такого рода подхода могут служить запускалки
Parameterized и
Theories, в обоих случаях один тест-класс может содержать только один такой параметризированный тест(в случае
Parameterized несколько, но все они будут использовать одни и те же данные).
В этой статье я заострю внимание на тестовом фреймворке
TestNG. Многие уже слышали это название, и перейдя на него, вряд ли желают вернуться к JUnit-у(хотя это только предположение).