testng是java的一个单元测试框架,主要用于设计测试用例,执行流程。

首先先来认识一下testng,定义了一个实现简单加法功能的函数:

package com.mg.java.maven.day06;

public class Calculator {
    public double add(double a, double b) {
        return a + b;
    }
}

利用这个加法函数来编写测试用例:

@test:添加这个注解以后,就是一个测试方法,可以不写main函数直接运行。

Assert.assertEquals:断言预期结果和实际结果是否相等,如果相等就测试通过,如果不相等就证明有bug,会抛出AssertionErrror。

第一条测试用例和测试结果:

package com.mg.java.maven.day06;

import org.testng.Assert;
import org.testng.annotations.Test;

/**
 * 测试testng
 * 
 * @author admin
 *
 */
public class Tester {

	@Test
	public void test() {
		Calculator calculator = new Calculator();
		double actual = calculator.add(3, 3);
		double expected = 6;
		// 断言
		Assert.assertEquals(actual, expected);
	}
}

testng 如何设计测试用例的执行顺序?

第一步:先建一个testng.xml结尾的配置文件:

点开如图:

文件含义如图:

第二步:编写testng.xml配置文件

第三步:设计套件suite,套件就是存放用例的容器。

第四步:设计测试集test,一个小模块比如登录的所有用例就是一个测试集。

第五步:设计classes,此test下面的所有测试类。

第6步:class对应的测试类,name属性指定包的路径。

2,3,4,5,6写完如下,suite和test的name属性必须指定:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 套件 -->
<suite name="Suite" parallel="false">
  <!-- 测试集 -->
  <test name="register">
      <!-- 测试类组成的集合 -->
    <classes>
      <!-- 对应测试类,也就是测试用例 -->
      <class name="com.mg.java.maven.day06.Tester"/>
      <class name="com.mg.java.maven.day06.Tester2"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

执行测试套件:其实执行的是套件中定义的每个测试集底下对应的所有测试类中的所有测试方法。

运行:直接右键testng.xml文件,选择run运行