TestNG简介
- 简介
是一个强大的测试框架,设计灵感来源于junit,但优于junit,它提供了很强大的注解,便于我们对case的各种操作。 - TestNG 提供了什么:
提供强大的注释,方便测试人员的使用。
支持数据驱动测试(DDT)
支持并行测试
可以灵活配置测试,强大的执行模式
可生成多种测试报告
等等
在项目pom文件中添加TestNG
在Maven中搜索testNG,选择版本号打开复制maven的,粘贴到pom文件,自动下载
TestNG 部分注解介绍
@BeforeTest:
注解的方法将被运行之前的任何测试方法属于内部类的 标签的运行。
所有的Test方法运行之前会先运行BeforeTest的方法,只会运行一次
@BeforeMethod:
注解的方法将每个测试方法之前运行。
每个Test方法运行之前会先运行BeforeTest的方法
@Test:
标记一个类或方法作为测试的一部分。
Test中编写用例执行代码,case执行顺序是根据方法名的ASCII码值决定的
@AfterMethod:
被注释的方法将被运行后,每个测试方法。
每个Test方法运行之后都会运行AfterMethod的方法
@AfterTest:
注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行。
所有的Test方法运行之后会运行AfterTest的方法,只会运行一次
package com.fang.Demo1;
import org.testng.annotations.*;
public class TestNGDemo1 {
@BeforeTest
public void beforeTest(){
System.out.println("这是BeforeTest注解");
}
@BeforeMethod
public void beforeMethod(){
System.out.println("这是BeforeMeyhod注解");
}
@Test
public void testDemo1(){
System.out.println("这是TestDemo1,case1");
}
@Test
public void testDemo2(){
System.out.println("这是TestDemo2,case2");
}
@AfterTest
public void afterTest(){
System.out.println("这是AfterTest注解");
}
@AfterMethod
public void afterMethod(){
System.out.println("这是AfterMwthod注解");
}
}
TestNG 部分常用校验方式介绍
相等:
Assert.assertEquals();
public class TestNGDemo2 {
@Test
public void assertEquals(){
int a=2;
int b=4;
Assert.assertEquals(a,b,"两数不相等");
}
Assert校验方法一旦出现失败,单个case中代码将不会继续往下执行,直接抛出错误结果
不等:
Assert.assertNotEquals();
@Test
public void assertNotEquals(){
int a=2;
int b=4;
Assert.assertNotEquals(a,b);
}
不为空:
Assert.assertNotNull();
@Test
public void assertNullTest(){
String a = "aa";
Assert. assertNull(a);
}
为空
Assert.assertNull();
@Test
public void asser tNotNullTest() {
String a = null;
Assert. assertNotNull(a) ;
}
是否为假
Assert.assertFalse();
@Test
public void assertFalse(){
boolean a = false;
Assert.assertFalse(a);
}
}