使用Maven显式运行Junits(和TestNG一样长)

时间:2014-03-23 13:30:07

标签: maven junit testng

强文本我有一个同时具有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>

1 个答案:

答案 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。