如何从命令行中的Netbeans创建的ant项目运行单个junit测试?

时间:2016-09-21 17:51:29

标签: java netbeans junit ant

如果你不介意有额外的抵押品来记住/设置CLASSPATHHow to run JUnit test cases from the command line,那么这个答案就有用了。但是,如果项目是由Netbeans创建的,那么类路径已经在您的项目中,并且该项目已经知道'如何运行单个单元测试和单个单元测试方法。

$ ant -p
. . .
 test-single             Run single unit test.
 test-single-method      Run single unit test.
. . .

但是,如果您尝试构建这些目标,则会向您显示此错误消息(然后是其他消息),而不提供有关如何设置相关属性的指导:

BUILD FAILED
/home/me/myproject/nbproject/build-impl.xml:1300: Must select some files in the IDE or set javac.includes

错误地设置属性,ant只会告诉您构建成功,但不编译也不运行测试。这比应该的更难。

那么,我们如何设置这些目标所需的属性呢?

1 个答案:

答案 0 :(得分:2)

通过一些实验,我发现了这些东西。

构建test-single目标:

javac.includestest.includes都设置为.java的路径 有问题的junit测试的源文件。路径必须是相对的 到项目的test文件夹。例如:

$ ant test-single -Djavac.includes=my/company/MyTest.java -Dtest.includes=my/company/MyTest.java

构建test-single-method目标:

此外,将test.class设置为测试类的完全限定名称 并将test.method设置为测试方法的名称。例如:

$ ant test-single-method -Djavac.includes=my/company/MyTest.java -Dtest.includes=my/company/MyTest.java -Dtest.class=my.company.MyTest -Dtest.method=testSomething

是的,参数是高度重复的,并且要求编写脚本。 我将test-single包装在一个只需要路径的脚本中 .java来源。

我想将test-single-method包装在接受该脚本的脚本中 .java源文件和方法的路径,但我还没有学到 怎么做魔法呢。