Pytest学习2 -断言

断言对比
unittest 断言

assertEqual(a, b)        # 判断a和b是否相等
assertNotEqual(a, b)     # 判断a不等于b
assertTrue(a)            # 判断a是否为Ture
assertFalse(a)           # 判断a是否为False  
assertIn(a, b)           # a 包含在b里面 
asserNotIn(a, b)         # a 不包含在b里面

pytest 断言
pytest只需要用assert来断言就行,相对更简单而便捷

assert xx     # 判断 xx 为真
assert not xx #判断 xx 不为真
assert a in b #判断 b 包含 a
assert a == b #判断 a 等于 b
assert a != b #判断 a 不等于 b

pytest示例代码

import pytest
def f():
    return 5;

def test_f():
    n=f()
    assert n % 3 ==0

if __name__ == '__main__':
    pytest.main(['-s','test_demo1.py'])

执行结果


image.png

异常断言

def test_zero_division():
    with pytest.raises(ZeroDivisionError) as exceptionInfo:
        100/0
#     断言异常类型
    assert exceptionInfo.type == ZeroDivisionError
#     断言异常的值
    assert "division by zero" in str(exceptionInfo.value)

知识点:
使用pytest.raises,来捕获对应的异常示例,exceptionInfo为一个对象示例来接收属性信息,通常是断言异常的 type 和 value 值
参考:https://www.jianshu.com/p/82945311e03e

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容