- Test for failure:
(1)传统错误的处理方式:return code
缺陷:调用者需要check返回值来做出下一步判断,需要对错误值进行统一处理,如果有不同的错误返回或者需要同时返回多个错误的时候不够方便等
(2)使用异常来处理错误,一般仅仅处理checked 异常,而对于运行时的异常因为它能够真实反映现实情况并且不可预见,所以一般不进行处理。
在测试中,异常可以通过捕获来进行处理,但是不够友好,testNG提供了注解可以直接申明需要捕获的异常。
@Test(expectedExceptions =exception.class)
(3)什么时候使用try catch来接受异常:如果需要对异常中的某些特定信息进行过滤,测试中可以使用try catch来进行处理并对异常的返回信息进行过滤。
(4)testng-failed.xml:testNG可以存储所有的failure的case并形成XML文件,避免重run的时候需要go through所有的case。对于depend关系的case,testNG会自动分析并将其加入到这个文件中。 - TestNG @factories
没有特别看出他的用处,但找到一篇文章,先记下来:http://beust.com/weblog/2004/09/27/testngs-factory/ - 数据驱动测试:
先普及一下数据驱动测试的概念:http://en.wikipedia.org/wiki/Data-driven_testing
简单说一下个人理解:所谓数据驱动测试就是将测试的数据和测试行为分开,对于简单的测试,测试的数据在测试用例 本身中作为input并没有问题,但如果需要测试的数据过多,为了避免重复,可以将数据集合起来,通过数据驱动测试来完成,如连接数据库提供数据等。
数据驱动测试适合解决的问题:
(1)测试本身需要在一系列结构化的数据中进行多次;
(2)测试本身的逻辑完全相同,变化的只是每次测试的数据
(3)数据本身能够被不同的人修改
TestNG测试设计模式相关--读书笔记
最新推荐文章于 2024-04-11 23:11:28 发布