判断2个数字在一定范围内的差异中是相等的,也就是解决0.1+0.2不等于0.3的问题
正常来说0.1+0.2不等于0.3,
import pytest if __name__ == '__main__': print(0.1 + 0.2 == 0.3) ##false print(0.1+0.2==pytest.approx(0.3)) ## True
当缺少某个指定当模块时,跳过用例
当认为某些代码块可能会异常的时候,以上下文管理的方式使用
>>> with raises(ValueError) as exc_info: ... if value > 10: ... raise ValueError("value must be <= 10") ... >>> assert exc_info.type is ValueError
4,pytest.register_assert_rewrite
重写断言信息
退出
6,_Result
在hook wrappers中使用
参数:get_result
全局变量
7.1,collect_ignore
排除指定的测试模块,包含字符串的列表
collect_ignore = ["setup.py"]
7.2,collect_ignore_glob
以通配符的格式,排除一类测试模块
collect_ignore_glob = ["*_ignore.py"]
7.3,pytestmark
给整个模块打一个标签,
import pytest pytestmark = [pytest.mark.integration, pytest.mark.slow]