unittest常用小技能-持续更新

简介: unittest常用小技能-持续更新

微信图片_20220609164317.jpgpython版本的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)
相关文章
打印文档即提示Print driver host for 32bit applications
主机win7 32位系统,打印一切正常,共享打印机后,客户机为win7 64位系统连接该共享打印机,连接成功,驱动安装正常,x64驱动,客户机打印测试页正常,但打印文档即提示Print driver host for 32bit applications。
8995 0
打印文档即提示Print driver host for 32bit applications
|
Kubernetes Cloud Native 关系型数据库
使用Zadig从0到1搭建持续交付平台(上)
使用Zadig从0到1搭建持续交付平台
使用Zadig从0到1搭建持续交付平台(上)
|
9月前
|
数据采集 人工智能 安全
接入DeepSeek的云盒子AI知识库,欢迎内测!
云盒子AI智能知识库以其开放性和灵活性著称,目前正内测接入DeepSeek-R1。此次升级延续了云盒子的开放理念,为企业提供灵活选择,支持按需定制和自由适配。DeepSeek的加入拓展了知识库的能力边界,满足不同行业需求,提升了文档利用与知识获取的智能化水平。云盒子通过专利数据采集技术、深度解析、权限隔离和持续学习能力,确保高效、安全的知识管理。适用于单文档问答、企业内部知识管理、客户服务支持、教育与培训及医疗单位等多种场景,为用户带来全新体验。
465 1
|
10月前
|
vr&ar 图形学 计算机视觉
突破次元壁!新加坡国立发布GenXD:拿捏真实感3D、4D动态场景
新加坡国立大学团队发布GenXD,突破3D和4D场景生成难题。通过利用常见相机和物体运动,提出数据整理管道及大型4D数据集CamVid-30K,开发出能生成逼真3D/4D场景的框架。其多视角-时间模块分离相机与物体运动,支持条件视图生成。尽管存在数据覆盖和复杂场景处理的挑战,GenXD仍显著提升了生成效果,为虚拟现实、游戏开发等领域带来新机遇。论文链接:https://arxiv.org/abs/2411.02319。
207 11
|
12月前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗领域的深度应用与未来展望####
本文深入探讨了人工智能(AI)技术在医疗领域的多维度应用,从疾病早期诊断、个性化治疗方案制定到复杂手术辅助,展现了AI如何重塑医疗服务的面貌。通过分析真实案例与最新研究成果,本文揭示了AI技术提升医疗效率、精准度及患者体验的潜力,同时审视了当前面临的挑战与伦理考量,为未来医疗技术的发展提供了前瞻性的思考框架。 ####
|
11月前
|
供应链 监控 数据可视化
物联网技术在物流与供应链管理中的应用与挑战
本文探讨了物联网技术在物流与供应链管理中的应用,通过实时追踪、信息共享、智能化决策等手段,大幅提升了管理效率和智能化水平。特别介绍了板栗看板作为专业可视化工具,在数据监控、分析及协同作业中的重要作用。未来,随着技术的进一步发展,物流与供应链管理将更加智能高效,但也面临数据安全、标准化等挑战。
|
11月前
|
存储 监控 安全
建立有效的反馈机制
建立有效的反馈机制
1157 6
|
人工智能 搜索推荐 区块链
元宇宙:虚拟现实的新纪元
在科技飞速发展的今天,元宇宙(Metaverse)正从科幻走向现实,成为连接物理与数字世界的桥梁。本文将探讨元宇宙的定义、关键技术、现有形态及未来展望,带您领略这一虚拟空间的无限可能。元宇宙利用VR、AR、区块链等技术,构建了一个沉浸式的虚拟世界,用户可通过数字化身自由探索、社交、娱乐、学习和工作。尽管仍处初级阶段,但虚拟会议、数字艺术、游戏娱乐等领域已初现端倪。未来,元宇宙有望成为第二人生、数字商务、创新教育和远程协作的重要平台,同时也面临数据安全、隐私保护等挑战。
1041 1
|
存储 算法 数据管理
数据结构与算法学习二零:二叉排序树(BST)、平衡二叉树(AVL)
这篇文章通过需求分析、代码实现和测试验证,详细介绍了二叉排序树的创建、遍历和删除操作,以及二叉平衡树(AVL)的自平衡特性和单旋转操作,旨在提高树结构在数据管理中的效率和性能。
317 0
数据结构与算法学习二零:二叉排序树(BST)、平衡二叉树(AVL)
什么是锁机制
【10月更文挑战第17天】什么是锁机制