(引用)TESTNG总结
TestNG简介:
TestNG是一个测试框架,其灵感来自JUnit和NUnit,但同时引入了一些新的功能,使其功能更强大,使用更方便。
TestNG相较于Junit的优点:
·可指定执行顺序, dependsOnMethods 属性来应对测试的依赖性问题。
·参数化测试,TestNG 提供了开箱即用的类似特性。通过在 TestNG 的 XML 配置文件中放入参数化数据,就可以对不同的数据集重用同一个测试用例,甚至有可能会得到不同的结果。支持@DataProvider 注释可以方便地把复杂参数类型映射到某个测试方法。
·支持分组测试
·支持多线程测试
官网地址:http://testng.org/doc/index.html
TestNG用法简介:
生命周期:
@BeforeSuite->@BeforeTest->@BeforeClass->{@BeforeMethod->@Test->@AfterMethod}->@AfterClass->@AfterTest->@AfterSuite
分组测试
相比junit的TestCase/TestSuite,TestNG有suite/test/test method三个级别,即将test/test method明确区分开了。
* suite由xml文件描述。它包含一个或多个测试并被定义为标签
* test由描述并包含一个或者多个TestNG类
* TestNG类是包含至少一个TestNG annotation的Java类,由标签描述并包含一个或多个测试方法
参数化测试
TestNG提供了2种传递参数的方式。
第一种: testng.xml 方式使代码和测试数据分离,方便维护,适用于一个用例,需要多个相同参数(值不同)来验证的情况。
第二种:@DataProvider能够提供比较复杂的参数。
这里介绍下第一种,如下例:@Parameters({ “key” }) 会去testng.xml里取到这个key对应的value,放到传参secondName中。
(1) assertTrue:判断是否为True。
(2) assertFalse:判断是否为false。
(3) assertSame:判断引用地址是否相同。
(4) assertNotSame:判断引用地址是否不相同。
(5) assertNull:判断是否为null。
(6) assertNotNull:判断是否不为null。
(7) assertEquals:判断是否相等,Object类型的对象需要实现haseCode及equals方法。
(8) assertNotEquals:判断是否不相等。
(9) assertEqualsNoOrder:判断忽略顺序是否相等。
转载:http://blog.csdn.net/mmk1992/article/details/52371111