首页 > 其他 > 详细

二、断言

时间:2020-03-21 21:35:21      阅读:77      评论:0      收藏:0      [点我收藏+]

1、使用assert 编写断言

技术分享图片

 

 

 

2、触发期望异常的断言

技术分享图片

 

 

 

3、特殊数据结构比较优化

针对一些特殊的数据结构间的比较,pytest对结果的显示做了一些优化:

  • 集合、列表等:标记出第一个不同的元素;
  • 字符串:标记出不同的部分;
  • 字典:标记出不同的条目;

技术分享图片

 

 

 

4、为失败断言添加自定义的说明

(1)重写__repr__方法优化显示

技术分享图片

 

 

 

(2)使用 pytest_assertrepr_compare钩子方法

技术分享图片

 

 

 

 技术分享图片

 

 

 

5、断言自省细节 

当断言失败时,pytest为提供了非常人性化的失败说明,中间往往夹杂着相应变量的自省信息,这个称为断言的自省;pytest是如何做到这样的:pytest发现测试模块,并引入它们 ,与此同时,pytest会复写断言语句,添加自省信息;但是,不是测试模块的断言语句并不会被复写;

(1)复写缓存文件

 pytest会把被复写的模块存储到本地作为缓存使用,可以通过在测试用例的根文件夹中的conftest.py里添加如下配置来禁止这种行为:

技术分享图片

 

 这不会方法使用断言自省,只是不会再本地存储.pyc文件。

(2)去使能断言自省

  • 在需要去使能模块的docstring中添加PYTEST_DONT_REWRITE字符串;
  • 执行pytest时,添加--assert=plain选项;

 

二、断言

原文:https://www.cnblogs.com/Tester-Chenmo/p/12532771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!