testng认识

悠悠 2022-09-10 14:24 290阅读 0赞

总括:

With a testng.xml file 直接run as test suite
在IDEA里执行,只需要右键,点击 Run xxx 即可。
如果是在某一个方法的代码块里右键,出现的是 Run methodName ,
即只运行当前的方法; 如果是在类的代码块里右键,出现的是 Run className ,即运行当前类中的所有Test方法;
也可以创建testng.xml,右键出现的 Run path/testng.xml ,即运行该配置文件中需要运行的方法。

本方法的运行时机比较对象:
@BeforeMethod/@AfterMethod 切面的意思 每个方法
@BeforeClass/@AfterClass 类中第一个最后一个的意思 当前类
@BeforeGroups 列举的组中所有方法之前 所有列举的组
组-打包分组,指定要运行的组,指定运行组中的哪些方法,运行时的依赖,类,列举要运行的类以及方法,包,以包名代替类 这些都在test中表示一次测试的配置


—-定义新的组





——运行哪个组,方法,排除什么方法,组


  1. <classes>
  2. <class name="要执行的class名"> ---不指定的话运行类中所有@Test注解,和group的指定交集
  3. <methods>
  4. <include name ="要执行的方法名"></include>
  5. </methods>
  6. </class>

preserve-order 配置的顺序执行,和运行的优先级不一样 priority = 1
xmL中的运行配置和类中的注解配置等同,有配置的用配置,没有配置的用注解作为默认项 使用配置文件就是为了批量运行
1,下必须写要执行的,否则不会执行任何内容,如果填写了class没有写methods,
会按照填写的class的下的注释@Test去执行所有的方法
2,下的如果填写了,那只会执行所填写的方法,没有填写的方法不会去执行
通过标签可以设置参数,
简单类型的参数test级别的会覆盖suit
这个参数要结合注解@Parameter适用,属性驱动
复杂参数用@DataProvider

在suit级别设置并发的级别和线程数

TestNG测试结果报告
测试报告是测试非常重要的部分.

TestNG默认情况下,会生产两种类型的测试报告HTML的和XML的。 测试报告位于 “test-output” 目录下.

当然我们也可以设置测试报告的内容级别.

verbose=”2” 标识的就是记录的日志级别,共有0-10的级别,其中0表示无,10表示最详细

示例:

org.testng
testng
6.9.10
test

  1. package com.x.t.controller;

import com.x.t.ServerApplication;
import com.x.t.dto.Request;
import com.x.t.dto.ResponseBo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

import java.util.List;

/**
* @author viakiba
* classes需要注入的类
* @description
* @date Create in 20:38 2018/7/22
*/

@SpringBootTest(classes = { ServerApplication.class })
//@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
public class EatAppTest extends AbstractTestNGSpringContextTests {
@Autowired
private Controller controller;
@Test(groups = “eatOne”)
public void test1(){
ResponseBo> ids = controller.getIds();
System.out.println(ids);
}
@Test(groups = “eatTen”)
public void test2(){
Request request = new Request();
request.setId(“Id”);
ResponseBo r = controller.getTiles(pointRequest);
System.out.println(r);
}
@Parameters({“a”,”b”})
@Test(groups = “eatTenAB”)
public void test3(int a , int b){
System.out.println(a*10);
System.out.println(a+b);
}
}

<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE suite SYSTEM “http://testng.org/testng-1.0.dtd">






















发表评论

表情:
评论列表 (有 0 条评论,290人围观)

还没有评论,来说两句吧...

相关阅读

    相关 TestNG

    经常在使用TestNG的注解时,忘记这些差异不大的注解的执行顺序;或者忘记用什么注解。所以这里归纳总结一下。 注解 说明 @BeforeSuite The annotat

    相关 TestNG注解

    注解 描述 @BeforeSuite 在该套件的所有测试都运行在注释的方法之前,仅运行一次 @AfterSuite 在该套件的所有测试都运行在注释方法之后,仅运行一次 @...