强文本我有一个同时具有Junits和TestNG测试的项目。
有些人建议我从TestNG配置文件加载Junits,如下所述: http://testng.org/doc/documentation-main.html#junit(并相应地更新pom.xml中testNG的依赖项),但它对我不起作用。
根据这里:Maven does not find JUnit tests to run,mvn根据类名的后缀扫描测试,以便运行junits(即名称以* test.java,tests.java等结尾的类)。 问题是,当配置TestNG时,Junits不会运行。
为此,我的问题是:
一个可以明确要求maven运行某些Junits吗?当涉及到TestNG时,它会如何保持? (因为有一个断言,这两个人不能在这里开始:http://jira.codehaus.org/browse/SUREFIRE-377但我觉得它有点过时了。
为此,我使用mvn 2.2.1(并且不允许更改版本:))
testNg.xml文件:
<suite name="VcopsCommonSuite" verbose="1">
<test name="TestNG">
<classes>
<classes name="<some path>.<testNG: test class1>"/>
<classes name="<some path>.<testNG: test class2>"/>
</classes>
</test>
<test name="JUnit" junit="true">
<classes>
<classes name="<some path>.<junit: test class1>"/>
<classes name="<some path>.<junit: test class2>"/>
</classes>
</test>
</suite>
在我的pom.xml文件中,依赖性配置如下:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 0 :(得分:0)
问题似乎源于junit版本:我的版本约为3,所需行为适用于版本4.7。
万一遇到这个帖子,他\她可以使用主要问题中提到的链接,并使用以下信息: http://solidsoft.wordpress.com/2013/03/12/mixing-testng-and-junit-tests-in-one-maven-module-2013-edition/ http://executeautomation.com/blog/how-to-run-test-using-testng-in-selenium-2/ http://executeautomation.com/blog/how-to-configure-testng-with-testng-xml-2/
另一种选择是在surefire maven插件中配置激活,以交替运行Junits和testNG。