根据环境变量阻止来自 运行 的所有 python 单元测试
Prevent all python unittests from running based on environment variable
如果某个环境变量未设置为特定值,有没有办法阻止所有单元测试 运行ning?
例如我只想测试 运行 if os.getenv(DB_URL)
returns sqlite:///:memory:
.
我想全局配置它,这样我就不需要检查每一个测试class/设置函数来单独检查它。
有很多方法可以实现这一点,但夹具可能是最简单的
import os
import pytest
DB_URL = "foo"
@pytest.fixture(autouse=True, scope="session")
def verify_db_url():
expected_url = "sqlite:///:memory:"
if os.getenv(DB_URL) != expected_url:
pytest.exit("Exiting due to incorrect database environment variable.")
如果某个环境变量未设置为特定值,有没有办法阻止所有单元测试 运行ning?
例如我只想测试 运行 if os.getenv(DB_URL)
returns sqlite:///:memory:
.
我想全局配置它,这样我就不需要检查每一个测试class/设置函数来单独检查它。
有很多方法可以实现这一点,但夹具可能是最简单的
import os
import pytest
DB_URL = "foo"
@pytest.fixture(autouse=True, scope="session")
def verify_db_url():
expected_url = "sqlite:///:memory:"
if os.getenv(DB_URL) != expected_url:
pytest.exit("Exiting due to incorrect database environment variable.")