0. 脚本:
fixture/test_fixtures_02.py
# 功能函数
import pytest
def multiply(a, b):
return a * b
class TestMultiply:
# =====fixtures========
@classmethod
def setup_class(cls):
print("setup_class=========>")
@classmethod
def teardown_class(cls):
print("teardown_class=========>")
def setup_method(self, method):
print("setup_method----->>")
def teardown_method(self, method):
print("teardown_method-->>")
def setup(self):
print("setup----->")
def teardown(self):
print("teardown-->")
# =====测试用例========
def test_numbers_5_6(self):
print('test_numbers_5_6')
assert multiply(5, 6) == 30
def test_strings_b_2(self):
print('test_strings_b_2')
assert multiply('b', 2) == 'bb'
1.生成 xml 报告
import pytest
if __name__=='__main__':
#pytest.main(['-s','./fixture'])
pytest.main(['-v', './fixture','--junit-xml=./report/log.xml'])
报告:
XML
<?xml version="1.0" encoding="utf-8"?>
<testsuites>
<testsuite name="pytest" errors="0" failures="0" skipped="0" tests="6" time="0.231" timestamp="2023-09-18T06:57:21.230110" hostname="WIN-9AMNN7ECA5T">
<testcase classname="fixture.test_fixtures_01" name="test_mult_3_4" time="0.003" /><testcase classname="fixture.test_fixtures_01" name="test_mult_a_4" time="0.004" /><testcase classname="fixture.test_fixtures_011" name="test_multiply_3_4" time="0.003" /><testcase classname="fixture.test_fixtures_011" name="test_multiply_a_3" time="0.003" /><testcase classname="fixture.test_fixtures_02.TestMultiply" name="test_numbers_5_6" time="0.003" />
<testcase classname="fixture.test_fixtures_02.TestMultiply" name="test_strings_b_2" time="0.003" />
</testsuite>
</testsuites>
方便处理成自己需要报告
2.生成在线报告
--pastebin=all 生成一个 session-log 链接浏览器打开
XML
import pytest
if __name__=='__main__':
pytest.main(['-s','./fixture'])
#pytest.main(['-v', './fixture','--junit-xml=./report/log.xml'])
pytest.main(['-v', './fixture', '--pastebin=all'])
XML
======================== 6 passed, 1 warning in 0.14s =========================
==================== Sending information to Paste Service =====================
pastebin session-log: https://bpa.st/show/GFZQ