Перекинуть данные в JUnit
Создал тест в selenium. Экспортировал его в Java (JUnit). Тест запускается, все хорошо. Но там прописаны статические данные. Мне нужно забивать данные из вне(например из JFrame). По сути в тестах нельзя создать такое, потому что это как 2 разные сущности. Но может быть есть решение? Мне вообще надо на сайте забивать данные и чтобы эти данные прокидывались в JUnit. Как лучше всего сделать? С сайта я не смог прокинуть данные в JUnit и решил попробовать через JFrame. Но и тут столкнулся с проблемами. Как мне лучше всего сделать?
Ответы (1 шт):
Использовать для этого UI во время выполнения тестов плохо. Как тогда такие тесты запускать полностью автоматически на CI?
Обычно для этого используют параметризованные тесты, а данные удобно задавать либо в самом тесте в виде списка, грубо говоря, либо во внешнем файле, например, csv.
В junit5 с параметрами из файла это выглядит так:
@ParameterizedTest
@CsvFileSource(
resources = "/data.csv", // файл должен лежать в classpath
numLinesToSkip = 1 // это чтобы пропустить заголовок
)
void testMyFunction(
String username, String password, String success) {
// ...
}
Файл data.csv может выглядеть приблизительно так:
user,password,success
ok_user,ok_password,True
ok_user,invalid_password,False