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

无法从Maven项目执行testng文件。Maven Surefire插件上的异常

那正初
2023-03-14

我已经创建了用于测试我的一个Web应用程序的Maven项目。我想根据几个参数来执行我的项目。因此,我在POM中添加了一些参数.XML并将这些属性作为输入传递给我的插件。

在我的maven项目执行期间,我在过去两天里收到了以下错误[ERROR]未能执行goal org . Apache . maven . plugins:maven-surefire-plugin:2.20:测试(default-test)项目健全性:未执行任何测试!(设置-DfailIfNoTests=false以忽略此错误。) -

我甚至参考了早期的堆栈流链接来解决此错误。[未能在项目上执行目标组织 apache.maven.插件:maven-surefire-plugin:2.12:测试(默认测试)。

但没有一个解决方案帮助我解决了这个问题。我尝试了大多数建议的解决方案

1) Tried cleaning project
2) updated my maven project and dependencies. 
3) Ran in debug mode also
4) Recreated my maven project also

请分享您的建议以解决此问题

此外,我张贴我的POM。来自Build标记的XML文件移除依赖插件、测试ng文件、用于调用的Java文件

     - POM.XML


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- This configuration need to be modified for the environment to be run and type of test to be executed -->
        <test>Web</test>
        <!-- Sanity, Regression -->
        <testtype>Sanity</testtype>
        <sanitysuiteFile>Sanity.xml</sanitysuiteFile>
        <regressionsuiteFile>Regression.xml</regressionsuiteFile>
    </properties>


    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.20</version>
        <configuration>
            <suiteXmlFiles>
                <suiteXmlFile>${sanitysuiteFile}</suiteXmlFile>
            </suiteXmlFiles>
        </configuration>
    </plugin>
</plugins>
</build>
</project>

     - TestNg.XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite">
      <test name="Test">
       <parameter name="selenium.env" value="UAT" />
      <parameter name="selenium.browser" value="IE" />
      <parameter name="selenium.pbrowser" value="Mozilla" /> 
        <classes>
          <class name="test.SanityTest"/>
        </classes>
      </test> <!-- Test -->
    </suite> <!-- Suite -->

在调试模式下运行项目时收到以下错误

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20:test (default-test) on project Sanity: No tests were executed!  (Set -DfailIfNoTests=false to ignore this error.) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20:test (default-test) on project Sanity: No tests were executed!  (Set -DfailIfNoTests=false to ignore this error.)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException: No tests were executed!  (Set -DfailIfNoTests=false to ignore this error.)
    at org.apache.maven.plugin.surefire.SurefireHelper.reportExecution(SurefireHelper.java:86)
    at org.apache.maven.plugin.surefire.SurefirePlugin.handleSummary(SurefirePlugin.java:334)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:937)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:785)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    ... 20 more
[ERROR] 

共有2个答案

松新
2023-03-14

我能够解决这个问题。实际上,问题在于我的POM.XML我在属性标记中定义了我的XML文件,并将其作为输入传递给我的surefire插件。现在我的POM.XML看起来像

属性:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <environment></environment>
  <browser></browser>
</properties>

SureFirePlugin:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.20</version>
  <inherited>true</inherited>
  <configuration>
    <suiteXmlFiles>
      <!-- Modify this parameter value based on the testtype -->
      <suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
    </suiteXmlFiles>
    <systemPropertyVariables>
      <browserName>${environment}</browserName>
      <testRunID>${browser}</testRunID> 
    </systemPropertyVariables>
  </configuration>
</plugin>

现在我的输入来自maven命令行,如下所示

mvn -X clean test Denvironment=UAT Dbrowser=IE -Dsurefire.suiteXmlFiles=sanity.xml

使用命令System.getProperty(浏览器)在我的java文件中检索这些值

殷永嘉
2023-03-14

您在尝试构建项目时出错了吗?如果是,请在pom中添加以下插件。xml我将忽略测试用例并构建您的项目。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
            <testFailureIgnore>true</testFailureIgnore>
        </configuration>
</plugin>   
 类似资料:
  • 我一直在尝试重命名tika应用程序类。由于类路径上的重复类,存在加载冲突。当我尝试运行maven install-e时,它会抛出错误,我想使用 Apache.Tika组织 分类为 com.test1.tika pom.xml文件如下所示 mvn package命令的错误如下: null

  • 我是maven的新手,学习如何以及何时在插件中执行阶段/目标 假设我的pom中有以下代码片段 现在,如果我执行mvn安装,安装之前的modello的所有阶段(以及每个阶段对应的所有目标)都将执行。正当 但是,如果进行以下修改以引入特定目标,则只会执行一个目标,即java目标(因为它位于安装阶段之前的生成源代码阶段)。对吗?

  • 我已经用maven和testNG配置了eclipse,用我的pom配置了PF。xml如下: 我是runnong,在命令提示符下点击这个目录:D:\EclipseWorkspace\iON27Feb2013\iONAutomation\common 我的cmd控制台显示:

  • 下面是我的pom.xml、testng.xml文件和TestRunners。 下面是我的pom.xml文件 [Utils][ERROR][ERROR]java.lang.NullPointerException在Cucumber.api.testng.AbstractTestngCucumberTests.Scenaries(AbstractTestngCucumberTests.java:31)

  • 问题内容: 从jmeter-maven-plugin执行JMeter时可以使用JMeter 插件吗? 更新 我尝试按照Ardesco的有用答案将依赖项添加到插件定义中,但是却得到了无数的。它 看起来 像Maven是不是把执行的JMeter时的传递依赖的类路径。有任何想法吗? 问题答案: 尽管此答案被接受,但仅适用于2.X之前的版本。但是对于高于2.X的版本,请参见此答案。 使用2.6.0版或更高版

  • 我将与NetBean IDE 8.1一起使用。 我是Maven和JavaFX打包的新手,所以我期待一些易于使用和理解的东西。