python - 从夹具内部跳过测试
问题描述
假设我有一个需要实时数据库的装置。
如果实时数据库不存在,我想跳过依赖于该夹具的测试。
目前,我必须手动标记要跳过的测试,这感觉是多余的:
@pytest.fixture
def db_client():
DB_URI = os.getenv('DB_URI')
# Set up DB client and yield it
@pytest.mark.skipif(not os.getenv('DB_URI'))
def test_some_feature(db):
# Use db fixture
...
解决方案
pytest.skip
在夹具内部调用:
@pytest.fixture
def db():
db_uri = os.getenv('DB_URI', None)
if not db_uri:
pytest.skip('No database available')
else:
# Set up DB client and yield it
推荐阅读
- c# - 尝试读取 Office Outlook 模板内容时出现互操作异常
- php - 在 Shopify 中检查 url 是否存在
- ssl - Solr Ssl 自签名证书
- html - 使用来自 Chrome 的通知的 HTML5 下一个和上一个音频
- reactjs - 如何强制排序箭头始终显示在 react-admin Datagrid 中?
- gnuplot - Gnuplot 条形图不从零开始
- elasticsearch - ElasticSearch:仅在嵌套数据的所有日期都小于当前日期时查询以获取结果
- php - !preg_match() 允许 $_POST 上未定义的字符
- python - 为什么这个递归函数中的第二个条件出现两次
- html - 修复div溢出并调整其他元素