testng测试框架入门到实战,testng官方文档
Gmail QQ:DL88250@gmail.com
测试是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器),本文以一个简单的例子展示了测试的基本运用。由于目前NetBeans IDE对测试目前还没有支持(不过开发工具已经开始计划和实现了),所以示例工程使用专家构建。
pom.xml:
?xmlversion=1.0 编码=UTF八号?项目xmlns= http://maven。阿帕奇。org/POM/4。0 .0 xmlns:xsi= http://www。w3。org/2001/XML schema-instance xsi:schema location= http://maven。阿帕奇。org/POM/4。0 .0http://maven。阿帕奇。org/maven-v4 _ 0 _ 0。xsd 模型版本4。0 .0/模型版本groupId/描述URL http://maven.apache.org/URL构建插件插件工件id maven-编译器-插件/工件id版本2 .0 .2/版本配置源1.6/源目标1.6/目标/配置/插件/插件/构建依赖项依赖项组id组织。TestNG/groupId工件Id TestNG/工件id版本5.8/版本范围测试/范围分类器JDK 15分类器排除工件id JUnit/工件id组id JUnit/groupId/exclusion/排除/排除项/依赖项/项目
scr:
包裹cn。edu。ynu。sei。测试;/* * * averysimpleclassfordemonstrathowtousetestng .* * @ author ahref= mailto:dl 88250 @ Gmail。 com 丁亮/a * @版本1.0.0.0,2008年10月29日*/public class calc {/* * * addsthespecifiedintegrand .* @ parami perand 1 * @ paramjoperand 2 * @返回MOF代码I/code和code j/code * @ throwsadexception fanyoccurxeception,抛出this * exception */public int add(inti,intj)throwsadexception { if((((I0x80000000)^(j0x 800000000))==0)((I0x 7 ffffffff)(j0x 7 ffffff))0){//overflowstrownewaddexception( addoverflow!);} returni j;}}
包裹cn。edu。ynu。sei。测试;/* * * ifoccusexceptionofaddition,throwsthisexcpetion .* * @ author ahref= mailto:dl 88250 @ Gmail。 com 丁亮/a * @版本1.0.0.0,2008年10月29日*/public class addexceptionextendsexception {/* * * generatedserialversionid */privatestaticgfinallongserialversionuid=733799941260755583 l;/* * *使用代码空/代码asitsdetailmessage构造新异常。*原因未初始化,并且可能随后通过*调用{@link#initCause}被初始化. * publicAddException(){ super();}/* * * constructsanewexceptionwithespecifieddetalmessage .初始原因未初始化,并且可能随后被*acallto{@link#initCause}初始化* * @ parammessagethedetailmessage .{ @ link # getMessage()}方法的* lateretrieval得详细消息保存.*/publicAddException(字符串消息){ super(消息);} }测试:
包裹cn。edu。ynu。sei。测试;导入组织。TestNG。注释。课后;导入组织。TestNG。注释。方法之后;导入组织。TestNG。注释。est之后;导入组织。TestNG。注释。上课前;导入组织。TestNG。注释。before方法;导入组织。TestNG。注释。测试前;导入组织。TestNG。注释。测试;importstaticorg。TestNG。断言。*;/* * *代码应用程序/代码得asimpleunittest .* * @ author ahref= mailto:dl 88250 @ Gmail。 com 丁亮/a * @版本1.0.0.0,2008年10月29日* @ see calc */public classcalctest {/* * * instance to test */privateCalcinstance;/* * * thismethodewillberunbeforethetest .*/@ beforestpublivodibeforests(){ system。出去。println(测试前);}/* * * thismodewillberunaftertest .*/@ afterestpublicavifurtest(){ system。出去。println( after est );}/* * *当前类中得thismethodewillberunbeforethefirsttestmethod *被调用.*/@ beforeclassspublicvidbefore class(){ system。出去。println(课前);系统。出去。println( newtestinstance );instance=new calc();}/* * * thismethodewillberunafterallthetestmethods * in当前类已运行. class */@ afterclasspublicaviterclass(){ system。出去。println(课后);}/* * * thismethodewillberunbeforeachtestmethod .*/@ before方法publicvidbefore方法(){ system。出去。println(“before method”);}/* * * thismethodwillberunafterechtestmethod .*/@ aftermethodpublicvoidartmethod(){ system。出去。println(“after method”);}/* * *代码添加/代码的测试方法,分类代码计算/代码.*此测试方法应该不成功.* @ throws exception */@ testpublicvidaddsucc()抛出异常{ system。出去。println( add );intresult=instance.add(1,1);assertEquals(2,结果);}/***Testfor code add /code method,属于类code Calc/code * thistestmethodshouldtrowa code add exception/code * @ throws exception */@ Test(预期异常=add exception。class)publicfoidaddfail()引发异常{ system。出去。println( add );intresult=instance.add(整数MAX_VALUE,整数MAX _ VALUE);System.out.println(结果);}}
测试官方网站:http://testng.org/
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。