码迷,mamicode.com
首页 > 其他好文 > 详细

二、断言

时间:2020-03-21 21:39:37      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:人性化   src   文件   doc   png   元素   如何   str   自省   

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选项;

 

二、断言

标签:人性化   src   文件   doc   png   元素   如何   str   自省   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!