1 用例执行状态
状态 | 说明 |
---|---|
| 测试通过 |
| 断言失败 |
| 用例本身代码报错 |
| 预期失败,加了 |
2 xfail示例
代码语言:python代码运行次数:0复制# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2022/12/27
# 文件名称:test_case_status.py
# 作用:用例的执行状态
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import pytest
# 断言装饰器
@pytest.mark.xfail(raises=ZeroDivisionError)
def test_f():
1 / 0
if __name__ == '__main__':
pytest.main(["-s", "test_case_status.py"])
代码语言:python代码运行次数:0复制test_case_status.py::test_f XFAIL [100%]
@pytest.mark.xfail(raises=ZeroDivisionError)
def test_f():
> 1 / 0
E ZeroDivisionError: division by zero
test_case_status.py:14: ZeroDivisionError
============================= 1 xfailed in 0.07s ==============================
3 failed示例
代码语言:python代码运行次数:0复制# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2022/12/27
# 文件名称:test_case_status.py
# 作用:用例的执行状态
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import pytest
# failed
@pytest.fixture()
def sum():
add = 3 5
assert add == 8
return add
def test_case(sum):
assert sum == 9
if __name__ == '__main__':
pytest.main(["-s", "test_case_status.py"])
代码语言:python代码运行次数:0复制sum = 8
def test_case(sum):
> assert sum == 9
E assert 8 == 9
test_case_status.py:24: AssertionError
=========================== short test summary info ===========================
FAILED test_case_status.py::test_case - assert 8 == 9
============================== 1 failed in 0.07s ==============================
4 error示例
- 正常情况:
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2022/12/27
# 文件名称:test_case_status.py
# 作用:用例的执行状态
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import pytest
@pytest.fixture()
def userinfo():
name = "zhang"
assert name == "zhang"
return name
def test_case(userinfo):
assert userinfo == "zhang"
if __name__ == '__main__':
pytest.main(["-s", "test_case_status.py"])
代码语言:python代码运行次数:0复制test_case_status.py::test_case PASSED [100%]
============================== 1 passed in 0.02s ==============================
- 我们把
@pytest.fixture()
去掉,就会error
:
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2022/12/27
# 文件名称:test_case_status.py
# 作用:用例的执行状态
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import pytest
def userinfo():
name = "zhang"
assert name == "zhang"
return name
def test_case(userinfo):
assert userinfo == "zhang"
if __name__ == '__main__':
pytest.main(["-s", "test_case_status.py"])
代码语言:python代码运行次数:0复制=================================== ERRORS ====================================
_________________________ ERROR at setup of test_case _________________________
file F:pytest_studytest_casetest_gtest_case_status.py, line 31
def test_case(userinfo):
E fixture 'userinfo' not found
> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, cov, doctest_namespace, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory, worker_id
> use 'pytest --fixtures [testpath]' for help on them.
F:pytest_studytest_casetest_gtest_case_status.py:31
=========================== short test summary info ===========================
ERROR test_case_status.py::test_case
============================== 1 error in 0.03s ===============================