前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >unittest常用小技能-持续更新

unittest常用小技能-持续更新

作者头像
我去热饭
发布2022-05-18 20:43:51
1570
发布2022-05-18 20:43:51
举报
文章被收录于专栏:测试开发干货测试开发干货

python版本的unittest测试框架很好用。虽然看过完整的所有功能,但是发现日常工作中常用的就那么几个。开始整理。

  • 无条件跳过用例unittest.skip('')
  • 为真跳过用例unittest.skpiIf(3>2)
  • 主动标记为失败unittest.Failure('')
  • 用例失败后自动重跑的函数方法
代码语言:javascript
复制
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
  • 主函数中启动测试套件有很多方法
代码语言:javascript
复制
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即可,这样调试起来很方便
代码语言:javascript
复制
suiten = unittest.makeSuite(Test_phonelogin)
suiten2= unittest.makeSuite(Test_emaillogin)
suiten.addTest(suiten2)
suiten.addTest(suiten3)
  • 引入hmltestrunner是一个好选择。但是py2代码中所有中文字符串前需要加u
代码语言:javascript
复制
filename = ‘./new/登录页面测试.html’
fp = file(filename, ‘wb’)
runner = HTMLTestRunner.HTMLTestRunner(fp, title=u’登录注册模块测试’, description=u’NUTapp用例执行报告’)
runner.run(suiten)

好了,今天先整理这么多

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档