TestNG(一)——起步
你可以从 http://testng.org/doc/documentation-main.html 获取信息。
一、简介
TestNG是test next generation的缩写,即下一代测试技术,如果接触过junit或者nunit,可能比较好理解,但是相信有很多人和本人一样,没接触过,纯菜鸟,这样的话,就一步一步来,从最基础的写起吧。
TestNG是一个基于注释的测试框架,即可以做单元测试,也可以用来做集成测试。
一个完整的测试,包括三步:
编写测试业务逻辑,并在代码中插入TestNG annotations;
在testng.xml或者build.xml中添加自己的测试信息;
运行TestNG.
注:TestGN支持的annotation程序清单:
——@BeforeSuite,@BeforeTest,@BeforeClass,@BeforeMethod,@BeforeGroups
——@AfterSuite,@AfterTest,@AfterClass,@AfterClass,@AfterGroups
——@DataProvider
——@ExpectedExceptions
——@Factory
——@Test
——@Parameters
二、testNG.xml基础
testNG.xml是一个配置文件,testNG运行时从这个文件中获取信息,比如要运行哪个类中的哪个方法等等。如果你编写testNG.xml的时候,没有书写的提示,可以在头加上:
<!DOCTYPE suite PUBLIC "--//beust.com//testng//testng 1.0//EN" "http://beust.com/testng/testng-1.0.dtd" >
先了解一些基本概念,不懂没关系,先看:
一个suite(套件)就是一个xml文件(虽然标题是testNG.xml,大家不要被它局限,名字可以任意取的),它可以由一个或多个测试组成,标记为<suite>;
一个test(测试)由一个或者多个类组成,标记为<test>;
一个class(类)由一个或者多个方法组成,标记为<class>;
method(方法)在你的代码中就是由@Test标记的一个java 方法。
如前所述,我们可以在xml文件中指定我们此次运行的测试的配置,比如我们可以指定包名、类名、方法名等等,先看一个xml文件,有个印象:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > < suite name = "Suite1" verbose = "1" > < test name = "Nopackage" > < classes > < class name = "NoPackageTest" /> </ classes > </ test > < test name = "Regression1" > < classes > < class name = "test.sample.ParameterSample" /> < class name = "test.sample.ParameterTest" /> </ classes > </ test > </ suite > |
可以看到,这个suite包含了两个test,第二个test有两个class。