假设我在一个父目录下的50个不同目录中有50个不同版本的同一个项目。我编写了JUnit测试来测试每个目录中的项目,它运行良好。但问题是我必须运行50次以获得测试结果。
有没有什么方法可以让它自动运行在父目录下的所有子目录上运行测试?
我现在正在使用Eclipse。但愿意改用Netbeans或任何其他工具,但更喜欢Windows操作系统。
注意:我将用它来评估java编程作业。这意味着我在一个父目录下的50个不同目录中有50个提交。我已经编写了测试用例来评估每个提交。现在我必须导入每个项目并手动运行测试用例。现在我想自动化它以减少时间。
答案 0 :(得分:1)
要从命令行运行JUnit,您需要在类路径中放置三个东西:
junit.jar
这可以这样做(假设你在目录中有你要测试的版本):
java -cp .;C:\path\to\junit.jar;C:\path\to\your\test\class org.junit.runner.JUnitCore TestClass
由于您使用的是Windows,因此您可能只想使用FOR
自动执行此操作(此处假设版本子目录位于C:\versions\
目录中:
FOR /D %F IN (C:\versions\*) DO java -cp .;C:\path\to\junit.jar;%F org.junit.runner.JUnitCore TestClass
这将循环遍历所有版本子目录,并在每个子目录中运行测试类。
答案 1 :(得分:0)
您可以创建自己的JUnit Runner。它扫描50个目录,或执行50次相同的测试用例,但用于不同的类路径。
答案 2 :(得分:-1)
CI服务器旨在简化这一点 - 管理自动化测试的运行。
有没有什么方法可以让它自动运行在父目录下的所有子目录上运行测试?
每个中档服务器都应该为您提供所有这些功能。由于您已标记Java,因此最常见的是:
您不需要拥有50个不同的作业/构建,只需将项目路径作为参数传递给构建。 例如Jenkins支持parameterized builds。