#!/e/Anaconda3/python
import pytest
import allure
def setup_module() -> None:
print("setup_module")
def setup_function() -> None:
print('setup_function')
# 参数驱动
@pytest.mark.happy
@pytest.mark.parametrize("num1, num2, num3", {
(4, 2, 6),
(2, 4, 6),
(3, 5, 8),
})
def test_01(num1, num2, num3):
print('test_01')
assert num3 == num1+num2
def test_02() -> None:
# 在测试报告添加图片
allure.attach.file(r'./pic.png', attachment_type=allure.attachment_type.PNG)
print('test_02')
class TestHome(object):
@classmethod
def setup_class(cls) -> None:
print('setup_class')
def setup(self) -> None:
print('setup')
def test_01(self) -> None:
print('test_01')
def test_02(self) -> None:
print('test_02')
if __name__ == '__main__':
pytest.main(["-m", "add", "-s"]) # -s 可以在控制台输出print的内容
输出结果为:
collecting ... collected 6 items
test_01.py::test_01[2-4-6]
test_01.py::test_01[3-5-8]
test_01.py::test_01[4-2-6]
test_01.py::test_02
setup_module
setup_function
PASSED [ 16%]test_01
setup_function
PASSED [ 33%]test_01
setup_function
PASSED [ 50%]test_01
setup_function
PASSED [ 66%]test_02
test_01.py::TestHome::test_01
test_01.py::TestHome::test_02
setup_class
setup
PASSED [ 83%]test_01
setup
PASSED [100%]test_02