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

从testng.xml文件中的其他路径运行测试类

夏侯楷
2023-03-14
    null

当我在testng.xml文件中指定path时,Intellij会显示一个错误。它给了我创建类XXXX的选项。当我单击create class时,它给了我两个位置(src/main/java和src/test/java)。我已经在src/test/java下有了相应的测试类。为什么它不接受?

我试图在Mac中检查我的类路径,但没有太大成功。

任何帮助都将不胜感激。

public static void main(String[] args) {

    try {

        testng = new TestNG();
        testng.setPreserveOrder(true);
        testng.setVerbose(0);
        testng.setTestSuites(Arrays.asList("config/testng.xml"));
        testng.run();
        }
     catch (Exception e) {
        //Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }

    }

还有一件事,我想做的是:我想创建一个配置文件,它将与构建一起进行,并将是可编辑的。因此,如果用户想要编辑配置(如更改服务器名称等),用户可以编辑配置文件并运行测试用例。

共有1个答案

林星阑
2023-03-14

首先,您应该将单元测试定位到Mavensrc/test/javatest*.javatest*.java中的相应文件夹中,这些单元测试的名称应该类似于*test.javatest*.java。此外,您永远不应该在Maven项目中定义完整的路径,无论您是在Mac/Linux/WindowsBox上还是其他什么环境下都无关紧要。

例如,文件夹布局如下所示:

.
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── soebes
    │               └── training
    │                   └── maven
    │                       └── simple
    │                           └── BitMask.java
    └── test
        ├── java
        │   └── com
        │       └── soebes
        │           └── training
        │               └── maven
        │                   └── simple
        │                       └── BitMaskTest.java
        └── resources
            └── log4j.properties

此外,您不需要在maven-surefire-plugin的配置中定义补充类路径,因为如果您像上面的示例那样将单元测试定位到正确的位置,那么它将在没有任何补充配置的情况下工作。

<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.8.8</version>
  <scope>test</scope>
</dependency>
mvn clean package
 类似资料:
  • 我有一个Java/JavaFX项目,在那里我使用样式表。 样式表中的图像将按如下方式加载: 当我从Eclipse或SceneBuilder编译并运行它时,它加载良好。但是,当从cmd()运行jar文件时,它将文件名添加到路径,将其更改为: 显然没有加载它。如何获得正确的路径,或者从以某种方式jar生成的路径中省略jar?jar文件在包文件夹中,这里概述为。

  • 问题内容: 我有一个仅在设置位标志时才运行的测试文件。我遵循了golang的测试文档中的一个简单示例: 如果我运行,它将按预期运行。但是,当我运行时,所有其他包测试均失败: 我希望能够运行所有测试,而不必担心在每个测试文件中解析此标志。有没有办法做到我所缺少的? 问题答案: 运行时,它会以相同的参数 将 每个程序包 作为单独的可执行文件 运行测试。因此,如果要向每个程序包传递一个标志,则每个程序包

  • 项目 当我运行代码时得到一些错误。

  • 我能够从Eclipse成功地执行我的testng.xml文件。但是我需要从命令提示符执行我的testng.xml文件。但是下面的命令不起作用,得到错误为“无法找到或加载主类testng-6.8.5.jar;”。更感谢任何帮助。

  • 我已经在Eclipse中创建了用于执行Selenium测试的Maven项目。我编写了一个TestSuite作为testng.xml。我喜欢从pom.xml运行这个testng.xml。 当我运行pom.xml时(右键单击pom.xml->Maven test),构建是成功的,但没有运行任何测试。测试结果如下: 结果:运行的测试:0次,失败:0次,错误:0次,跳过:0次 我的testng.xml:

  • 我目前正在尝试使用Apache POI从java中读写excel (xlsx而不是xls)。问题是我不仅需要poi-oo XML jar,还需要依赖关系。我如何创建一个类路径来将所有这些链接在一起? 我目前使用的包括: < li>poi-ooxml-3.10 < li>poi-ooxml-schemas-3.10 < li>dom4j- 1.6.1 < li>xmlbeans-2.3.0 < li