如何在每次测试中运行静态方法

时间:2019-07-04 08:48:11

标签: python pytest

我具有清理数据库和报告的功能。我想每次运行测试(问题)时都运行此函数,而不管是运行一个测试(类中的方法)还是整个类。

我的脚本是静态方法

@staticmethod
def startScript():
     removeData()
     removeReport()

My example test:

test.py
class myTesting(unittest.TestCase):
def test_add_new_user(self, name, elem1, elem2):
code my test.

如何添加脚本以在每次运行测试时运行?谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

将其添加为功能的附件

https://docs.pytest.org/en/latest/fixture.html

@pytest.fixture
def startScript():
     removeData()
     removeReport()

或将其添加到类中的setup_method中:

def setup_method(self, method):
    startScript();

第三种方式: 将静态函数添加到范围的conftest.py中,此文件应与test.py处于同一级别:

@pytest.fixture(autouse=True, scope='function'):
def startScript():
    removeData()
    removeReport()

有关conftest.py的更多信息:

https://docs.pytest.org/en/2.7.3/plugins.html?highlight=re