当前位置: 首页 > 知识库问答 >
问题:

为什么在使用TestNG时“mvn测试”对我有效,而“mvn surefire:test”对我无效?

易修洁
2023-03-14

为什么在使用TestNG时“mvn测试”对我有效,而“mvn surefire:test”对我无效?这很有趣,因为套件xml文件的位置是通过surefire插件配置的,但它只在我执行常规Maven“测试”目标时运行。当我使用“mvn surefire:test”时,就好像资源(或src/test/resources/testng.xml)文件对测试执行者不可见,而该文件似乎存在于预期位置:/target/test classes/testng。xml。

这是我的配置。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire.version}</version>
    <configuration>
        <includes>
      <include>Tests/**/*.java</include>
        </includes>
        <suiteXmlFiles>
            <suiteXmlFile>
                 ${project.build.testOutputDirectory}/${testng.suitexmlfile}
                    </suiteXmlFile>
        </suiteXmlFiles>
        <configuration>
            <systemPropertyVariables>
                <build-name>${testng.buildname}</build-name>
                <testenv>${testng.testenv}</testenv>
            </systemPropertyVariables>
            <groups>${testng.groups}</groups>
        </configuration>
    </configuration>
</plugin>

共有1个答案

贺聪
2023-03-14

mvn surefire:如果源代码以前没有编译过,测试将找不到任何要执行的测试。

因此,这不会找到任何要执行的测试:

mvn clean
mvn surefire:test

然而,这应该是可行的(因为mvn测试绑定到maven生命周期,并在执行测试之前编译源代码):

mvn clean
mvn test
 类似资料:
  • 我试图为我的类“Sinus”(用于计算浮点的Sinus)运行一个测试,但当我试图运行这个测试来生成我的Cobertura覆盖率报告时,它不起作用,我真的不知道为什么!你有什么建议或解释吗?(我使用cmd:mvn cobertura:cobertura) -这是我的测试: 结果是: 那有什么问题?有什么想法吗?这是我的pom。xml如下:

  • 所以我是编程的新手,我一直在通过Odin项目自学。我一直在做的第一个项目是对Google搜索网站的再创造。我得到了一些基本的HTML布局,但我的css没有被应用,我最初是在codepin上开始这个项目的,所有的东西都起作用了。当我切换到VSCODE时...什么都没有。以下是我目前所掌握的HTML内容。 我的CSS... 这是我的第一篇文章,希望这是一个好问题。感谢任何帮助。谢谢!

  • 我开始学习动态内存分配的主题。 我有以下代码: 调试器的输出是: 对于我的问题: 类的成员变量在哪里? 如果我查看第0x23a节中的地址,它似乎是堆栈,而第0x6000节似乎是堆。 我正在使用Windows 64位系统。 为什么成员变量也在堆上,而没有调用运算符?

  • 我已经使用selenium创建了测试用例,之前我可以使用maven(从命令行和eclipse)执行我的测试用例。但是现在它不起作用了。请帮助 请在下面找到控制台日志:(运行为- 我没有得到任何错误,它成功地构建了一个项目。但是跳过所有测试用例 请找到我的pom。xml配置如下: 请找到E2E。xml如下:

  • 我最近开始使用QUnit来单元测试我的JavaScript,我有点困惑的功能在那里留档:。 根据文档,设计用于: [s]指定在测试中预期运行多少个断言。 这是他们给出的例子: 我在这里唯一看到的是维护噩梦。每次向测试添加断言时,都必须更新该数字,否则测试将失败。这种功能是否有实际应用?

  • 问题内容: 如果用户将焦点放在当前窗口上并按一个键,我将打印相关信息。但是,它适用于某些键,例如“ a”,但不适用于“ tab”。这是一个简单的演示: 我该怎么做才能达到目标?提前致谢。 问题答案: 引自《如何使用Focus子系统》(Java™教程>使用JFC / Swing创建GUI>使用其他Swing功能) (由@ alex2410建议(链接到@camickr帖子)和@mKorbel建议):