TestNg JAVA 自动化单元测试框架Demo
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了TestNg JAVA 自动化单元测试框架Demo,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4836字,纯文字阅读大概需要7分钟。
内容图文
TestNg
TestNg 是java的一个自动化单元测试框架
参考:http://testng.org/doc/index.html
环境准备
既然是java 的自动化单元测试框架,就必须要有java的环境了,这里使用的编辑器是Eclipse,已经安装过TestNg 插件,如果环境准备好就可以开始了
代码实例
代码结构如图
新建一个java项目,之后添加一个TestNg类,之后会生成一个测试类,和一个xml文件
(如果发现TestNg编辑是出错,无法调用TestNg的标签函数,那么导入TestNg.jar.可以右键点击项目,之后BuildPath ->add Libary->选择TestNg 即可)
简单地TestNg类
package TestNgDemo;
//使用TestNg 测试框架
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class NewTest {
//测试开始前执行一次
@BeforeClass
public void beforeClass() {
System.out.println("开始前执行一次");
}
@Test
public void case1() {
System.out.println("case1");
}
@Test
public void case2() {
int a = 2;
int b = 3;
int sum = a+b;
Assert.assertEquals(sum, 5, "Result Error");
System.out.println("case2");
}
//测试结束时执行一次
@AfterClass
public void afterClass() {
System.out.println("结束时执行一次");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
对应的Xml配置文件(TestNg 都是通过注释标签,有点类似Junit,并且通过xml文件托管):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<test name="Test">
<classes>
<class name="TestNgDemo.NewTest"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
1
2
3
4
5
6
7
8
9
10
使用TestNg Xml 进行数据驱动传递参数
package TestNgDemo;
//使用TestNg 传递参数
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
public class NewTest2 {
@BeforeMethod
public void beforeMethod() {
System.out.println("每个方法运行时运行");
}
//通过Parameters 获取Xml 中指定的参数
@Parameters({"name","age"})
@Test
public void case1(String name,int age) {
System.out.println("case1 Name is"+ name);
System.out.println("case1 Age is"+ age);
}
@Test
public void case2() {
System.out.println("case2");
}
@AfterMethod
public void afterMethod() {
System.out.println("每个方法结束时运行");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
对应的xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<parameter name="name" value="TestName" />
<parameter name="age" value="55" />
<test name="Test">
<classes>
<class name="TestNgDemo.NewTest2"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
1
2
3
4
5
6
7
8
9
10
11
12
13
通过xml设置分组,运行不同的case
package TestNgDemo;
//TestNg 分组运行
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
public class NewTest3 {
@BeforeMethod
public void beforeMethod() {
System.out.println("Begain");
}
@Parameters({"name","age"})
@Test(groups="CaseGroup1")
public void case1(String name,int age) {
System.out.println("case1 Name is"+ name);
System.out.println("case1 Age is"+ age);
}
@Test(groups="CaseGroup2")
public void case2() {
System.out.println("case2");
}
@AfterMethod
public void afterMethod() {
System.out.println("End");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
对应的xml文件如下,需要运行那个组的时候,就可以直接更改:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="false">
<parameter name="name" value="TestName" />
<parameter name="age" value="55" />
<test name="Test">
<grroup>
<define name = CaseGroup1/>
<define name = CaseGRoup2/>
<run>
<include name = CaseGroup1/>
</run>
</grroup>
<classes>
<class name="TestNgDemo.NewTest3"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
TestNg 是通过Xml文件管理测试累的,可以看到,每个测试方法都可以看做一条Case,并且开头都有@Test 作为测试标记
更多的TestNg xml管理的例子可以参考:
内容总结
以上是互联网集市为您收集整理的TestNg JAVA 自动化单元测试框架Demo全部内容,希望文章能够帮你解决TestNg JAVA 自动化单元测试框架Demo所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。