Python unittest第二篇:测试夹具

关于测试夹具,我们知道,以类为对象的话,在python里对应的方法分别是test_isupper、test_upper, 那么以测试case为单位呢?

 

这时候,就要提到我们的setup()和tearDown()啦,在这里setup()函数做每个单元测试的初始化操作,而对应的tearDown()做每个单元测试的析构操作,首先我们在类里加入两个函数:

 

重新执行py文件,结果如图:

 

我们会发现在各个测试case执行前后会执行setUp()与tearDown(),包括test_upper()、test_isupper()。另外如果setUp()执行失败的话,情况会怎么样呢?

我们在setUp()函数里添加“抛出异常”操作,执行后我们会发现所有的测试case都报error了,大致如图:

 

同样的,若setup()执行成功,对应的测试case执行失败并且报error的话,这时tearDown()函数会执行吗?让我们试试吧。

我们在test_split()函数里加上“抛出异常”操作,执行后确认若setup()成功,那么不论之后测试case结果如何,对应的tearDown()函数都会执行。情况如图:

 

关于以测试case为单位的测试夹具总体如上所示,运行测试case时都会自动调用测试夹具中的setUp(),tearDown()。

posted @ 2019-03-04 23:55  天叔  阅读(845)  评论(0编辑  收藏  举报