写在前面:
程序:
import pytest
import time
class TestClass_10000():
def setup_method(self):
print ("setup ---->")
def teardown_method(self):
print ("teardown ---->")
def test_one(self):
print ("here is test_one")
assert 1 == 2
在终端执行的命令:
pytest test_collection/test_collection01/test_01.py::TestClass_10000::test_one --html report.html --reruns 1
测试平台信息:
Packages {"pluggy": "1.0.0", "py": "1.11.0", "pytest": "7.1.2"}
Platform macOS-10.16-x86_64-i386-64bit
Plugins {"forked": "1.4.0", "html": "3.1.1", "metadata": "2.0.1", "parallel": "0.0.10", "rerunfailures": "10.2", "xdist": "2.5.0"}
Python 3.9.1
输出的报告:
预期实现的场景:
测试用例在执行前会输出一次"setup",执行过程中输出一次"here is test_one",执行结束输出一次"teardown"。 测试用例失败,重新执行一次测试用例,测试用例在执行前会输出一次"setup",执行过程中输出一次"here is test_one",执行结束输出一次"teardown"。
按照预期,报告应该是:
Failed:
setup-->
here is test_one
teardown-->
Rerun:
setup -->
here is test_one
teardown-->
疑惑的地方:
恳请各位路过的大神,慷慨解囊,提供宝贵意见。