pytest:在单元测试设置方法中使用固定装置

pytest: using fixtures in unittest setUp method

我想设置一个 unittest 风格的测试 class,它在 setUp 方法中使用了一个 pytest fixture。像这样:

def myTestClass(unittest.TestCase):
    def setUp():
        self.URL = fixture_url

    def test_a():
        # points tests at self.URL

它将有一个 conftest.py 文件,其中为 URL 添加了一个命令行选项。 (我已经搭建好了,但我不确定如何设置夹具。)

我想要多个测试 classes 测试不同的功能。然后我将 运行 py.test 给出一个 URL 所有 classes 将在他们的设置中使用。

如果有其他更好的方法来实现这一点,我将很乐意听到!

由于没有回复,我将post我的临时解决方案:

我创建了一个新文件:config.py,它使用环境变量来构造参数。即

# contents of config.py
THIS_URL = os.getenv('TEMP_URL', 'https://www.thisisatest.com')

# contents of test_*.py
...
def setUp(self):
    self.URL = config.THIS_URL

这很好用。环境变量可以通过命令行按正常方式临时设置。