利用TestNG进行单元测试
TestNG简介
TestNG是一个用来简化广泛的测试需求的测试框架,从单元测试到集成测试。
Annotation
Annotation | 作用 |
---|---|
@BeforeSuite |
被注释的方法将在所有测试运行前运行 |
@AfterSuite |
被注释的方法将在所有测试运行后运行 |
@BeforeTest |
被注释的方法将在测试运行前运行 |
@AfterTest |
被注释的方法将在测试运行后运行 |
@BeforeGroups |
被注释的方法将在gourp中方法运行前运行 |
@AfterGroups |
被注释的方法将在gourp中方法运行后运行 |
@BeforeClass |
被注释的方法将在当前类的第一个方法运行前运行 |
@AfterClass |
被注释的方法将在当前类的所有方法运行后运行 |
@BeforeMethod |
被注释的方法将在每一个方法运行前运行 |
@AfterMethod |
被注释的方法将在每一个方法运行后运行 |
@DataProvider |
被注释的方法用于为其他方法提供数据 |
@Factory |
被标记的方法作为一个返回对象的工厂,这些对象将被TestNG作为测试类,该返回必须返回Object[] |
@Par##ameters |
传递参数给测试方法 |
使用TestNG进行单元测试
@Test() // Test中所有方法变为测试方法
public class Test {
@Test(enable = false) // 该注释后,test1()测试时被忽略,相当于普通方法
public void test1(){}
@BeforeTest() // 该注释后,test3(),test4()执行前,test2()先执行
public void test2(){}
@
public void test3(){}
public void test4(){}
}
测试中的一些小问题
1、匿名JSON节点验证:
[
{
"name":"Tom",
"age":12
},
{
"name":"Jane",
"age":18
}
]
对于上述JSON的验证代码如下:
public void method_name() {
given().
header("Authorization", "token " + Config.getToken()).
when().
get(url).
then().
statusCode(200).
body("[0].name", equalTo("正常")).
body("[0].age", greaterThanOrEqualTo(0));
}
This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:http://yov.oschina.io/article/测试/Test/利用TestNG进行单元测试/