Maven运行TestNG

本文介绍了如何配置pom.xml和testng.xml文件,以及如何通过Maven的package命令来运行TestNG测试套件。

pom.xml配置

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.smartisan.cloud</groupId>
  <artifactId>product-gateway</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>product-gateway</name>
  <url>http://maven.apache.org</url> 
  <dependencies>
    <dependency>
       <groupId>org.uncommons</groupId>
       <artifactId>reportng</artifactId>
       <version>1.1.4</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
           <groupId>org.testng</groupId>
           <artifactId>testng</artifactId>
         </exclusion>
       </exclusions>
    </dependency>
    <dependency>
       <groupId>com.google.inject</groupId>
       <artifactId>guice</artifactId>
       <version>3.0</version>
       <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.9.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20080701</version>
    </dependency>

     <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38-bin</version>
    </dependency> 
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
       <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.17</version>
          <configuration>  
          <suiteXmlFiles>  
            <suiteXmlFile>testng.xml</suiteXmlFile>  
          </suiteXmlFiles>  
        </configuration>  
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </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="product-gateway" parallel="false" thread-count="2">
    <test verbose="2" preserve-order="true" name="Spu">  
        <classes>
            <class name="com.smartisan.cloud.SpuId" />
            <class name="com.smartisan.cloud.SpuIdList" />
        </classes>
    </test> <!-- Test -->

    <listeners>
        <listener class-name="org.uncommons.reportng.HTMLReporter" />
        <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
    </listeners>
    <usedefaultlisteners name="false" />
</suite> <!-- Suite -->

运行maven package
这里写图片描述

### 使用Maven执行TestNG测试 为了通过Maven运行TestNG测试,需确保项目的`pom.xml`文件中包含了必要的依赖项和插件配置。具体来说,在`<dependencies>`部分加入TestNG库的依赖声明[^1]。 对于构建工具而言,Maven默认支持JUnit框架;然而当选用TestNG作为测试引擎时,则要额外指定相应的Maven Surefire Plugin设置来覆盖默认行为。这可以通过编辑`pom.xml`中的`<build><plugins>`节点实现,添加如下所示的内容: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> <configuration> <suiteXmlFiles> <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> </suiteXmlFiles> </configuration> </plugin> ``` 上述XML片段定义了用于指示Surefire插件采用特定路径下的TestNG套件描述符(`testng.xml`)来进行自动化测试执行的任务配置[^2]。 完成这些更改之后,只需简单地调用`mvn test`命令即可触发基于TestNG框架下所有标记有`@Test`注解的方法被执行。如果一切正常的话,控制台将会显示有关各个案例的结果报告以及任何可能发生的错误信息。 另外值得注意的一点是在Spring Boot应用程序里尝试于启动阶段自动激活某些类型的集成或功能验证逻辑(比如单元测试),虽然技术上可行但是通常不被推荐这样做因为可能会引入不必要的复杂性和潜在的风险因素[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值