vlambda博客
学习文章列表

TestNG 接口测试专题(四)

如果说谁是目前接口测试的第一利器,非TestNG莫属,今天带大家学习下这个框架,很多知名的企业也在TestNG上封装自己牛逼的测试框架,更是必学不可了。


1.TestNG介绍

TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。

TestNG设计涵盖所有类型的测试:单元,功能,端到端,集成等,它需要JDK5或更高的JDK版本。

一个典型的TestNG测试需要三个步骤

  • 编写测试的业务逻辑,然后把TestNG的解释插入代码

  • 在testing.xml或build.xml文档中增加测试相关的信息,如类名、希望运行的group等

  • 运行TestNG

 

2.TestNG安装与设置

前提需要安装JDK,然后在官网下载相应的jar包,目前版本6.9.12,也可以直接使用集成TestNG的IDE Intellij DEA。

本次使用git直接下载并安装,命令行如下:

git clone git://github.com/cbeust/testng.git
cd testng
./build-with-gradle

ps:并没有成功,没有找到testng文件下面的target文件,没有生成jar文件,所以直接用IDE来学习。

 

3.TestNG的使用

TestNG的使用有几种方法:

  • 直接使用命令行运行

  • ant运行

  • Eclipse插件

  • Intellij’s IDEA

 

4.TestNG的简单语法

安装好之后可以,可以用一个简单的例子测试。

测试前需要了解TestNG的一些基本语法规则:

  • suite代表一个xml文件,它由<suite>标签定义,可以包含一个或多个tests。

  • test可以包含一个或多个TestNG类,由<test>标签定义

  • TestNG类是一个Java类,包含至少一条TestNG注释,可以有一个或多个测试方法。在xml中它由<class>标签定义

  • 测试方法是Java中的方法,由@Test在TestNG中注释标记。

 以下是一个简单例子,利用xml启动TestNG。TestNGSimpleTest是一个TestNG类,它包含一个@Test。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "
http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
<test name="test1">
<classes>
<class name="TestNGSimpleTest"/>
</classes>
</test>
</suite>

 

import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
public class TestNGSimpleTest {
@Test
public void testAdd() {
String str = "TestNG is working fine";
assertEquals("TestNG is working fine", str);
}
}