我需要在使用pytest框架编写的单元测试中模拟os.environ
下面是我要测试的代码的虚拟版本,位于getters.py
:
import os
username = os.environ['MY_USER']
password = os.environ['MY_PASS']
def get_data(...):
access_token = request_access_token(username, password)
...
return data
下面是test_getters.py
中的单元测试示例:
import pytest
import src.getters
class TestGetData(object):
def test_something(self):
data = src.getters.get_data(...)
assert ...
测试收集失败,出现以下错误:
=========================== short test summary info ============================
ERROR tests/test_getters.py - KeyError: 'MY_USER'
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 0.68s ===============================
如果可能的话,我希望能够为整个测试类模拟一次
有什么装饰师我可以用吗?或者其他推荐的模拟os.environ的方法
使用Monkeypatching的
monkeypatch.setenv()
:文件:
代码:
相关问题 更多 >
编程相关推荐