白盒测试的学习之路----(四)搭建测试框架TestNG测试

     TestNG是一个开源自动化测试框架; TestNG是类似于JUnit,但它不是一个JUnit扩展。它的灵感来源于JUnit。它的目的是优于JUnit的,尤其是当测试集成的类。 TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试。 因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义的测试,它也可以告诉你如何使用这个新功能在真实的Java语言生产环境中。一般开发使用的是JUnit做单元测试,而测试一般都是勇士TestNG。

     首先,就是下载相关jar包(testng-6.8.8.jar),下载完成之后在所需项目内引入该jar包。接下来创建一个testng的class即可。然后就可以开始进行编写测试代码。http://www.cnblogs.com/TankXiao/p/3888070.html这个是之前我入门参考的部分文档。还是挺有用的。插件的安装可参考之前我的总结文章:MyEclipse安装插件的三种方法和使用心得,里面就是以TestNG插件安装为例,插件安装和导入相关的jar包已经在文件目录下上传了,可以方便大家学习。

 

    

   TestNG的基本注释在这个例子中,仅仅使用了2个,下面简单介绍下:@Test:标记一个类或方法作为测试的一部分。@DataProvider:标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。

  测试代码如下:

 

package com.loleina.whiteTest;

import java.lang.reflect.Method;

import org.testng.Assert;

import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class testSourceCode {

@Test(dataProvider="providerMethod")

public void testjudgeKindOfTriangle(int a,int b,int c) {

int result =TriangleJudgeSourceCode.judgeKindOfTriangle(a,b,c);
Assert.assertEquals(result, 3);
}

@DataProvider
public static Object[][] providerMethod(Method method){
return new Object[][]{
{3,3,5}
};
}
}

   搭建好简单的测试环境,就如上所述。但是存在一些问题,比如测试用例得一条条在代码里添加,很麻烦,最好是能用excel来管理测试用例,实现参数分离;

 

posted @ 2016-01-15 11:28  loleina  阅读(2124)  评论(0编辑  收藏  举报