在eclipse中,使用JUnit 4,您可以右键单击一个项目或程序包,然后单击Run作为JUnit Test,它将运行该分组中的所有JUnit测试。有没有办法在代码中做同样的事情?如何在代码中运行整个JUnit测试套件
3
A
回答
8
您可以在JUnit中使用的软件包,如JUnitCore这样的:
public static void main(String[] args){
List tests = new ArrayList();
tests.add(TestOne.class);
tests.add(TestTwo.class);
for (Class test : tests){
runTests(test);
}
}
private static void runTests(Class test){
Result result = JUnitCore.runClasses(test);
for (Failure failure : result.getFailures()){
System.out.println(failure.toString());
}
}
1
JUnit提供了test Suite。试试看。
[...]
public class TestCaseA {
@Test
public void testA1() {
// omitted
}
}
[...]
public class TestCaseB {
@Test
public void testB1() {
// omitted
}
}
[...]
@RunWith(value=Suite.class)
@SuiteClasses(value = {TestCaseA.class})
public class TestSuiteA {
}
[...]
@RunWith(value=Suite.class)
@SuiteClasses(value = {TestCaseB.class})
public class TestSuiteB {
}
[...]
@RunWith(value = Suite.class)
@SuiteClasses(value = {TestSuiteA.class, TestSuiteB.class})
public class MasterTestSuite{
}
6
使用JUnit套房:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
// Put your Test Case Class here
@Suite.SuiteClasses({
JunitTest1.class,
JunitTest2.class,
JunitTest3.class
})
public class JunitTestSuite {}
然后创建运行它主要方法。
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class JunitTestSuiteRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(JunitTestSuite.class);
for (Failure fail : result.getFailures()) {
System.out.println(fail.toString());
}
if (result.wasSuccessful()) {
System.out.println("All tests finished successfully...");
}
}}
相关问题
- 1. 运行JUnit测试套件在Eclipse
- 2. 如何在Ant中运行JUnit测试套件?
- 3. 使用Maven运行JUnit测试套件
- 4. 如何在另一个套件中嵌入JUnit测试套件
- 5. 如何在多个测试类中运行一组junit测试?
- 6. 如何从命令行运行Eclipse java JUnit测试套件? (windows)
- 7. 在任何junit测试运行之前执行一些代码
- 8. 如何在NetBeans中调试多个JUnit测试套件?
- 9. 如何将JUnit 4测试添加到JUnit 3测试套件
- 10. JUnit @Parameterized函数在测试套件中的@BeforeClass之前运行?
- 11. 如何在SCons下运行JUnit测试?
- 12. 在套件级别上并行运行JUnit测试?
- 13. gradle测试任务如何运行特定的junit测试套件?
- 14. 我如何控制我这个JUnit测试类在JUnit测试运行
- 15. 在JUnit 5中,如何在所有测试之前运行代码
- 16. 运行两个JUnit测试套件的不相交
- 17. Spring工具套件中的JUnit:运行测试中的错误
- 18. 如何使用Ant在类别/套件中运行所有JUnit测试?
- 19. jUnit:如何过滤在多个套件中发现的测试
- 20. 如何在Eclipse中运行Junit中的单个测试用例?
- 21. 如何在运行框架中运行JUnit测试用例2.3.2
- 22. 如何在Visual Studio代码中运行所有测试代码
- 23. 想使用pom.xml运行ant项目中的junit测试套件
- 24. 如何执行在JUnit测试测试多个文件
- 25. 并行运行JUnit测试
- 26. 如何在Maven测试文件不在mavenise结构中运行Junit测试
- 27. 从另一个JUnit测试类运行JUnit测试类
- 28. 如何在不同的Maven项目中将多个Junit测试套件运行到单个测试套件并使用maven命令运行?
- 29. 在JUnit测试中重复代码
- 30. JUnit套件合同测试
我的很多测试都有相同的名称,所以这个选项不会有效。我真的在寻找具有与为项目或包单击“Run as JUnit Test”相同功能的代码。 – meanderingmoose
这种方法要求您提及所有类。 –