我有多个包含各种测试用例的 junit.framework.TestCase 类的实例。我想编写一个从这些实例运行特定测试用例的程序。
有没有办法动态调用junit测试,类似于 java.lang.reflect API中的invoke()
方法?
答案 0 :(得分:0)
您可以使用JUnitCore调用Junit,如果您使用Maven运行整个测试套件会更好,因为@SubOptimal指出。
JUnitCore junit = new JUnitCore();
Result result = junit.run(CommonConstantsUnitTest.class);
答案 1 :(得分:0)
因为你想要实现的目标并不是很清楚。在下面找到一些更普遍的可能性。如果你使用的是Maven,你可以
(有关更多示例/可能性,请参阅maven-surefire-plugin: single-test)
mvn -Dtest=YourClass* test
(有关更多示例/可能性,请参阅maven-surefire-plugin: JUnit_Categories)
mvn test -Dgroups="your.test.group.Example"
修改对于ivy
,此SO帖子how-to-run-all-junit-tests-in-a-category-suite-with-ant可能有助于解决您的要求。
答案 2 :(得分:-2)
尝试使用@Category
注释
您可以对测试进行分类,然后使用@Category
或@Category