我试图模仿os.environ
,但我收到了这个错误。
monkeypatch.setattr(os, 'environ', mock_env)
E TypeError: unbound method setattr() must be called with monkeypatch instance as first argument (got module instance instead)
这是我的代码。
def test_feed(self):
self.upload_file()
def mock_env():
return get_config()
monkeypatch.setattr(os, 'environ', mock_env)
response = self.app.get('/feed')
self.assertEquals('<xml></xml>', response.data)
以下是我使用Flask进行测试的方法
@app.route("/feed")
def feed(env=os.environ):
mrss_feed = FeedBurner(env=env).get_feed()
response = make_response(mrss_feed)
response.headers["Content-Type"] = "application/xml"
return response
答案 0 :(得分:2)
我相信你只是忘了将monkeypatch
fixture作为参数传递给你的测试函数:
def test_feed(self, monkeypatch):
...