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

如何让Maven使用我的TestNG XML文件?

夏侯星洲
2023-03-14

这是我的pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>test</groupId>
    <artifactId>TestSuite</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>TestSuite</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugin</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/resources/test.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
            <artifactId>jxl</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>2.35.0</version>
        </dependency>
    </dependencies>
</project>

如果您需要更多的信息,让我知道我会修改,但我的TestNG文件实际上只是调用一个测试类,没有任何修饰,如果我直接将它作为TestNG测试执行,它就可以工作。其余的代码可以工作,所以我假设不是这样。也许是Eclipse中的设置?

共有1个答案

彭飞虎
2023-03-14

我无法让Maven从test.xml文件中运行测试,而不是在默认模式下运行,在默认模式下,它只提取文件名中带有“test”字的任何内容。

这可能是因为Maven Surefire插件的默认包含模式:

默认情况下,Surefire插件将自动包含具有以下通配符模式的所有测试类:

我不能确定,但看起来在读取test.xml文件时有一些问题(找不到文件、解析、编码问题等),而且肯定会回到包含/排除策略。

你可以做个小测试来证明这一点。在“configuration”中添加“includes”和/或“excludes”部分,并排除除随机类之外的所有类。如果运行那个随机类,那么“套件XMLFiles”将被忽略。

希望这能缩小范围。

 类似资料:
  • 问题内容: 这样做时,我希望在目标目录中包含2个WAR文件。一个将包含 生产 ,而另一个将包含 test / uat 。 我已经试过了: 但是,我最终只能参加测试WAR。 问题答案: 我不认为您可以一步完成此操作(实际上,令Maven没有抱怨您的设置并且不知道应用了哪个设置,我感到很惊讶),我建议您使用配置文件或过滤来管理此使用案件。 如果您确实不同,则可以将maven-war-plugin配置放

  • 我是不是遗漏了什么,或者有什么特别的原因不起作用? 谢了!

  • 我尝试了多种方法来运行它。目的是绘制用户可以点击的圆圈。我无法在JGroup上绘制任何东西。我最初是在扩展JFrame,但意识到我需要扩展JGroup。我正在使用IntelliJ GUI Designer进行布局。我将非常感谢任何帮助。 这是IntelliJ表单设计器文件。 https://pastebin.com/Z3b0PVtZ

  • 问题内容: 我想让Maven2为我的应用程序生成.jnlp(webstart配置文件)。 有一个maven-jnlp-plugin,但自Maven 1.1-beta2以来的某个地方已不推荐使用。 有没有更优选的方法来执行此操作,或者我需要自己构建此功能? 问题答案: 还有用于maven2的webstart-maven-plugin

  • 如何让Maven插件与Sonar Scanner配合使用? 我正在RHEL 7.5上运行以下程序: 纱线版本:Hadoop 3.1.0 mvn——版本:ApacheMaven 3.5.3 SonarQube 7.1 节点-v:v9。5 npm-v:5.6.0 我带着pom去这个目录。xml文件:/opt/sonaqube/web/META-INF/maven/org。声纳来源。声纳网络 我运行以下

  • 问题内容: 我正在使用Struts2,Spring和Hibernate。 我用POI编写了一个名为test.xls的简单Excel文件。当我运行该操作时,它可以工作,因为出现了test.xls,但它在我的tomcat文件夹中。 我希望该文件可以在我的jsp页面上下载。如何使用户下载.xls文件?相反,我怎么称呼那条路? 抱歉,答案很明显,我是新来的。我知道它可能与ServletContext或Ht