【问题标题】:Run Junits explicitly using Maven (and long with TestNG)使用 Maven 显式运行 Junits(并且长期使用 TestNG)
【发布时间】:2014-03-23 13:30:07
【问题描述】:

strong text我有一个项目同时包含 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 运行某些 Junit 吗? 当涉及到 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>

【问题讨论】:

  • 第一次提示 Maven 2.2.1 尽快负责此更新。除此之外,您是否遵循正确位于 src/test/java 中的命名约定 (*Test.java) 等?此外,我建议决定使用 JUnit 进行单元测试或 TestNG,但不能同时使用两者。我的建议是使用 TestNG 进行集成测试等。顺便说一句:你能显示你的 pom 文件吗?
  • @khmarbaise - 我完成了上述所有操作,但没有任何变化。显然 Maven 版本太旧,根本不支持该功能。
  • @Joe - 不是重复。引用的线程只处理运行的junits。这个问题询问如何将它们与 TestNg 测试一起运行。
  • 你为什么从 TestNG 中排除 junit ? Maven 2.2.1 也可以。问题是您使用哪个 maven-surefire-plugin 版本?

标签: maven junit testng


【解决方案1】:

问题似乎源于 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。

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2016-12-09
    • 2015-12-28
    相关资源
    最近更新 更多