Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在每个测试中运行静态方法_Python_Pytest - Fatal编程技术网

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

Python 如何在每个测试中运行静态方法,python,pytest,Python,Pytest,我有一个清理数据库和报告的功能。我希望每次运行测试(问题)时都运行此函数,无论是运行一个测试(类中的方法)还是整个类 我的脚本是一个静态方法 @staticmethod def startScript(): removeData() 删除端口() 我的示例测试: test.py 类myTesting(unittest.TestCase): def测试添加新用户(自我、姓名、elem1、elem2): 编写我的测试代码。 如何添加脚本以在每次运行测试时运行它?感谢您的帮助将其作为固定装置添加到函

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

我的脚本是一个静态方法

@staticmethod
def startScript():
removeData()
删除端口()
我的示例测试:
test.py
类myTesting(unittest.TestCase):
def测试添加新用户(自我、姓名、elem1、elem2):
编写我的测试代码。

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

将其作为固定装置添加到函数中

或者将其添加到类中的setup\u方法中:

def setup_method(self, method):
    startScript();
第三种方式: 将静态函数添加到作用域的conftest.py,此文件应与test.py处于同一级别:

@pytest.fixture(autouse=True, scope='function'):
def startScript():
    removeData()
    removeReport()
有关conftest.py的更多信息:


谢谢,但这不是一个好的解决方案,我可以换一种方式吗?你说的“不好的解决方案”是什么意思?如果你使用pytest运行测试类,这是实现这一点的最佳方式。还有另一种方法。我会加上它
@pytest.fixture(autouse=True, scope='function'):
def startScript():
    removeData()
    removeReport()