Я пытаюсь автоматизировать способ одновременной оценки файлов нескольких учеников в моем введении в класс Java.
Как я могу запустить один и тот же тест для всех файлов в папке, если выполняются следующие условия:
- Все файлы находятся в одной папке (без подпапок)
- Все файлы имеют расширение .java
- Все имена файлов являются важными идентификаторами
- Код в каждом файле соответствует одинаковым требованиям
SayHelloWorld
|-bsmithSayHelloWorld.java
|-athomasSayHelloWorld.java
|-cjenkinsSayHelloWorld.java
Мне комфортно с JUnit, но в прошлом я использовал его только в одном файле, неуклюже через IntelliJ.
Вот простой пример файла, который я буду тестировать:
public class Main {
public static void main(String[] args) {
System.out.println(sayHello());
}
public static String sayHello(){
return "hello Java";
}
}
Мне бы очень хотелось иметь возможность автоматизировать модульное тестирование всех файлов .java, которые существуют в данной папке, и выводить результаты во что-то, с чем я могу работать (консоль, файл, что угодно).
Возможный вывод может выглядеть так:
bsmithSayHelloWorld helloWorldTest: pass
athomasSayHelloWorld helloWorldTest: fail
cjenkinsSayHelloWorld helloWorldTest: pass
sayHello()
, и вы хотите выполнить один и тот же тест для каждого класса, скажем:testHelloWorld()
, это правильно? - person sirandy   schedule 30.05.2019sayHello()
, и они должны будут заполнить его правильным оператором возврата. - person mpcsf   schedule 30.05.2019Paremeterized
тесты, вот подход для этого: stackoverflow.com/a/6724555/1670134 он работает с интерфейсами но вы можете изменить, чтобы принять конкретные классы. - person sirandy   schedule 30.05.2019