我写了一个我在Eclipse中运行的maven-JUnit项目
我有五个班的包:
1. JunitTest1.java
2. JunitTest2.java
3. Adapter.java,
4. JunitTestSuite.java
5. TestRunner.java
JunitTestSuite类中的代码是
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({ JunitTest1.class, JunitTest2.class })
public class JunitTestSuite {
}
TestRunner类中的代码是:
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(JunitTestSuite.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
当我以Junit Test运行项目时,有4个测试运行,套件下的两个测试和每个测试分别进行;意味着每个测试都运行两次。有关如何只运行套件的任何建议吗?
谢谢!
ORIT
答案 0 :(得分:0)
如果您使用的是maven,则不需要TestRunner类。你可以在你的pom.xml中将你的套件类介绍给maven,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<argLine>-Xmx3g</argLine>
<includes>
<include>**/JunitTestSuite.java</include>
</includes>
</configuration>
</plugin>
它将运行您的套件类,您的测试类将不会运行两次。