单元测试_python_unittest

环境

python2.7


python有多个测试框架,unittest是其中之一

1测试方法必须以test开头,例如def  test_xxx(self)

2如果想运行当前模块所有case

if __name__=="__main__":

    unittest.main()

3如果想运行部分用例,可构造测试集

if __name__=="__main__":

    suite=unittest.TestSuite

    suite.addTest(A('test_xx'))

    suite.addTest(A('test_xxx'))

    runner=unittest.TextTestRunner()

    runner.run(suite)

在实例中,A是类名,test_xx是方法名

4用例数庞大时,在套间中逐个添加方法太慢,可以使用discover

discover(start_dir,pattern='test*.py',top_lever_dir=None)

参数介绍:

start_dir:要测试的模块名或测试用例目录

top_lever_dir=None:测试模块的顶层目录

示范:

startt_dir='./'

discover=unittest.defaultTestLoader.discover(startt_dir, pattern='test*.py')

if __name__=="__main__":

    runner=unittest.TextTestRunner()

    runner.run(discover)

5执行次序

默认按照ASCII的顺序加载测试用例,0-9,A-Z,a-z

目录和文件均按照此规则

6装饰器

unittest.skip(reason)

unittest.skipIf(condition, reason)

unittest.skipUnless(condition, reason)

unittest.expectedFailure(func)  #标记为失败

7fixtures

setUpModule()  #整个模块开始前执行

tearDownModule()  #整个模块结束前执行

setUpClass(cls)   #类开始前执行

tearDownClass(cls)   #类结束前执行

setUp(self)    #case开始前执行

tearDown(self)   #case结束前执行

这些东西是不是很眼熟

在junit4中有类似的注解

BeforeClass

AfterClass

Before

After




 



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值