因為用心,才會喜歡

粥雨

Pytest - 断言判断(1) - 常用断言方法

常用断言方法

  • 与unittest相比,pytest的断言使用的是python自带的 assert 关键字来进行断言。
  • assert 关键字后面可以接一个表达式:
    • 表达式的最终结果为 True ,那么断言通过,用例执行成功;
    • 表达式的最终结果为 False ,那么断言失败,用例执行失败;

比较大小和相等

  • assert 可以使用直接使用运算符来比较
    • ==(相等)、!=(不相等)
    • <(小于)、>(大于)
    • <=(小于等于)、>=(大于等于)

test_py.py

import pytest
a = 123
b = 456
class Test_py:
def test_a(self):
assert a == b
def test_b(self):
assert a != b
def test_c(self):
assert a < b
def test_d(self):
assert a > b
def test_e(self):
assert a <= b
def test_f(self):
assert a >= b
if __name__ == "__main__":
pytest.main(['-q', 'test_py.py'])
# test_b,test_c,test_e 测试成功
# test_a,test_d,test_f 测试失败

包含不包含

  • assert 使用 innot in 来判断包含的关系。

test_py.py

import pytest
a = "123"
class Test_py:
def test_a(self):
assert "1" in a
def test_b(self):
assert "1" not in a
if __name__ == "__main__":
pytest.main(['-q', 'test_py.py'])
# test_a 测试成功
# test_b 测试失败

True 或 False

  • assert断言真假不需要任何辅助符号:
    • assert 直接判断对象是否为 True
    • assert not 用于判断是否为 False

test_py.py

import pytest
a = True
class Test_py:
def test_a(self):
assert a
def test_b(self):
assert not a
if __name__ == "__main__":
pytest.main(['-q', 'test_py.py'])
# test_a 测试成功
# test_b 测试失败

断言异常信息提示

当测试断言失败后,需要输出指定的异常信息,在 assert 断言后,增加异常信息即可

test_py.py

import pytest
def test_a():
assert False, "这是一条异常信息"
if __name__ == "__main__":
pytest.main(['-q', 'test_py.py'])


posted @   粥雨  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示