如何从命令行运行testng.xml?

目录

创建一个新的java项目并从命令行运行testng.xml

使用命令行运行XML文件

从命令行运行现有maven项目的XML文件


在这篇文章中,我们将使用命令行运行testng.xml。有多种场景需要使用命令行工具运行testng.xml。也许您已经创建了一个maven项目,现在想使用命令行运行testng.xml文件,或者您是TestNG的新手,只是想了解一下。别担心,我们将全面涵盖这两种情况。

创建一个新的java项目并从命令行运行testng.xml

创建一个新的Java项目

  • 单击"File(文件)"菜单。
  • 现在,单击New,然后单击Java项目。我们把这个项目命名为实践。你可以选择任何你喜欢的名字牛牛
  • 现在,我们将向项目中添加必要的jar。我们会将代码推送到我们的git仓库中,这样你就可以随时查找你需要的任何东西。如果你需要我们使用的jar,你可以从我们++的git仓库++下载。我们将所需的jar保存在jar文件夹中,如下所示。
  • 右键单击项目Build Path Configure Build Path。
  • 现在,转到Libraries选项卡,单击Add External JARs并添加我们之前保存在jars文件夹中的所有jar。
  • 如下图所示,我们现在将创建一个包(比如Test),我们将在该包下创建类(比如CodekruTest)。

在CodekruTest类中进行简单测试。

java 复制代码
package Test;
 
import org.testng.annotations.Test;
 
public class CodekruTest {
 
    @Test
    public void test() {
        System.out.println("Executing the test in the CodekruTest class");
    }
     
}

创建testng.xml文件。

现在我们将创建testng.xml文件来运行我们的测试类。

html 复制代码
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
 
<suite name="codekru">
    <test name="codekru">
        <classes>
            <class name="Test.CodekruTest" />
        </classes>
    </test>
</suite>

您也可以从eclipse运行这个XML文件,方法是右键单击XML文件,然后选择RunAsTestNGSuite。

使用命令行运行XML文件

现在,我们将使用命令行运行testng.xml,为此,您需要做一些事情,

  • 编译后的类的类路径(比如CodekruTest.java,我的CodekruTest.class在哪里生成?).我们不必担心它,因为eclipse会在bin文件夹中生成可编译的类。因此,我们将只把它留在那里。
  • 其次,我们需要必要的jar来运行XML文件。我们也这样做了,因为我们之前将所有需要的文件保存在jars文件夹中。

现在,转到您的项目路径,并在命令行工具中运行以下命令来执行您的testng.xml文件。

bash 复制代码
java -cp bin\;jars\* org.testng.TestNG testng.xml

这将执行testng.xml文件,如下面的屏幕截图所示。

注意:bin文件夹包含我们的.class编译文件,但请确保永远不要在命令中使用bin\*,因为它会给你给予以下错误。

[TestNG] [ERROR]
Cannot find class in classpath: Test.CodekruTest

jars文件夹包含执行testng.xml文件所需的jar。

好了,就是这样,我们成功地创建了一个新的java项目,并使用命令行工具运行了testng.xml。现在,是时候看看如果我们有一个现有的maven项目,并希望执行该项目的testng.xml,我们应该做什么了?

从命令行运行现有maven项目的XML文件

我们需要注意两件事-

  • 如果我们使用eclipse,++maven++项目的编译类将进入target\classes文件夹,而不是bin文件夹,这对于其他IDE可能会有所不同。因此,我们需要在命令中给予编译类文件夹的路径。
  • 我们需要添加必要的jar来执行testng.xml文件。我们可以在jars文件夹中

现在,运行testng.xml文件的命令如下

bash 复制代码
java -cp target\classes\;jars\* org.testng.TestNG testng.xml
相关推荐
Lossya16 天前
【python实操】python小程序之UnitTest框架以及TestSuite书写方法
开发语言·python·小程序·继承·封装·unit testing
Maer092 个月前
Typescript 使用 Jest 进行单元测试
javascript·typescript·unit testing
G皮T5 个月前
【单元测试】Spring Boot 的测试库
spring boot·单元测试·unit testing·unit test
code-jam5 个月前
springboot项目,@Test写法 @Before @After
spring boot·单元测试·unit testing
老马啸西风10 个月前
test-02-test case generate 测试用例生成 EvoSuite 介绍
java·开发语言·junit·开源·测试用例·unit testing
老马啸西风10 个月前
test fuzz-04-模糊测试 jazzer Coverage-guided, in-process fuzzing for the JVM
开发语言·jvm·单元测试·开源·测试覆盖率·unit testing
老马啸西风10 个月前
test Property-based Testing-04-junit-quickcheck
开发语言·junit·开源·测试覆盖率·unit testing
老马啸西风10 个月前
test mutation-02-变异测试 mutate-test-kata入门介绍
java·单元测试·测试覆盖率·unit testing
老马啸西风10 个月前
test coverate-04-测试覆盖率 Cobertura Cobertura/emma/jacoco 的差异对比?
学习·junit·单元测试·测试覆盖率·unit testing