python版本的unittest测试框架很好用。虽然看过完整的所有功能,但是发现日常工作中常用的就那么几个。开始整理。
- 无条件跳过用例unittest.skip('')
- 为真跳过用例unittest.skpiIf(3>2)
- 主动标记为失败unittest.Failure('')
- 用例失败后自动重跑的函数方法
def log(n):
def decorator(xingfangfa):
def wrapper(*a,**w):
for i in range(n):
try:
return xingfangfa(*a,**w)
except AssertionError as err:
print err
raise AssertionError
return wrapper
return decorator
- 主函数中启动测试套件有很多方法
1.if name ==”main“:
suite = unittest.TestSuite()
suite.addTest(TestCount(“test_add”))
runner = unittest.TextTestRunner()
runner.run(suite)
2.suite = unittest.makeSuite(Text类名)
runner = unittest.TextTestRunner()
runner.run(suite)
3.def suite(suiten):
suitea = suiten
for i in range(0,3):
suitea.addTest(TestNut(‘test_%s’%(i 1)))
return suitea
if name == “main“:
suiten = unittest.TestSuite()
runner = unittest.TextTestRunner()
runner.run(suite)
- 每条用例如果断言失败,那么后面的代码就都不执行了,所以如果断言后面需要一些操作代码的话,最好放到下一条用例中
- 测试类可以很多,只要主函数中给suiten依次add即可,这样调试起来很方便
suiten = unittest.makeSuite(Test_phonelogin)
suiten2= unittest.makeSuite(Test_emaillogin)
suiten.addTest(suiten2)
suiten.addTest(suiten3)
- 引入hmltestrunner是一个好选择。但是py2代码中所有中文字符串前需要加u
filename = ‘./new/登录页面测试.html’
fp = file(filename, ‘wb’)
runner = HTMLTestRunner.HTMLTestRunner(fp, title=u’登录注册模块测试’, description=u’NUTapp用例执行报告’)
runner.run(suiten)
好了,今天先整理这么多