在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
答案 0 :(得分:0)
从Java11开始,您可以run single java classes without compiling。
因此,如果您可以自由使用Java 11,则可以在具有给定输入的文件夹中loop over the java files,然后check the program output against expectations.
使用其他许多脚本解决方案也可以实现同样的目的,例如ant,make,gradle,python,ruby,...