Пусть у нас есть следующие тесты TestNG:
@Test
public void Test1() {
}
@Test (dependsOnMethods={"Test1"})
public void Test2() {
}
@Test (dependsOnMethods={"Test2"})
public void Test3() {
}
Тесты служат функциональными комплексными тестами webui (с Selenium Webdriver). Каждый метод тестирования — это шаг в контексте длинного сценария e2e.
Как мы можем реорганизовать тесты, чтобы сделать их более читабельными? Лучшим решением может быть удаление всех этих параметров «dependsOnMethods» в аннотации и неявное предоставление этой функциональности «dependsOnMethods». Вопрос как? Ожидания в порядке приоритета:
- Найдите решение, поддерживающее TestNG
- Оставьте TestNG, но задействуйте любой другой инструмент, например. легко? используя groovy вместо java... Могу ли я использовать группы TestNG с easyb? Возможно ли, чтобы easyb не в стиле bdd, а в стиле "junit", например:
учитывая «пользователь вошел в систему и установил экспертный режим», {
//... setup, a la @BeforeClass
}
затем "пользователь может включить бла-бла-бла" {
//...
}
затем "пользователь может проверить poo poo poo" {
//...
}
затем "пользователь сохраняет изменения" {
//...
}
затем "пользователь отменяет изменения", {
// Tear Down, a la @AfterClass
}
Есть ли какие-либо проблемы с тем, что вы просто начинаете писать другие тестовые классы в groovy в том же проекте Java?
- Убрать TestNG, но использовать что? Функция групп TestNG - нужна.
Одним из безумных решений может быть - сломать все и перейти к Фукидиду. Но это не вариант в моем случае.
PS Я знаю, что зависимые тесты — это «плохая практика». Но я считаю, что «само тестирование зависимостей» также является хорошим моментом в автоматизации...
dependsOnMethods
? Я лично считаю, что это вполне читабельно - person Nathan Merrill   schedule 10.10.2013