pytest框架中setup、teardown和setup_class、teardown_class

函数级别方法:

setup:每个用例执行之前都会执行一次

teardown:每个用例执行之后都会执行一次

import pytest
class TestFunc:
    def setup(self):              # 每个测试函数运行前执行一次
        print("---setup---")
    def test_a(self):
        print("test_a")
    def test_b(self):
        print("test_b")
    def teardown(self):          # 每个测试函数运行后执行一次
        print("---tesrdown---")
if __name__ == "__main__":
    pytest.main(["-s","pytest_func.py"])

# 结果
"""
pytest_func.py ---setup---
test_a
.---tesrdown---
---setup---
test_b
.---tesrdown---

"""

类级别方法:

setup_class: 每个测试类运行之前执行一次(不关心一个类里面有多少个测试用例)

teardown_class:每个测试类运行之后执行一次(不关心一个类里面有多少个测试用例)

import pytest
class TestClass:

    def setup_class(self):                    # 仅类开始之前执行一次
        print("---setup_class---")

    def teardown_class(self):                 # 仅类结束之后执行一次
        print("---tesrdown_class---")

    def test_a(self):
        print("test_a")

    def test_b(self):
        print("test_b")

if __name__ == "__main__":
    pytest.main(["-s","pytest_class.py"])



# 结果
"""
pytest_class.py ---setup_class---
test_a
.test_b
.---tesrdown_class---

"""

 

你可能感兴趣的:(Python)