在 Behave 和 Flask 中模拟

Mocking in Behave and Flask

我正在尝试使用 mock 来模拟 HTTP 请求调用,因为我不想 Behave 实际调用它。

所以我在 matches.py 文件中有这个代码场景:

import request

def get_match():
   response = request.get("https://example.com")
   return response

在我的步骤定义中 match_steps.py 行为我有这个:

def logoport_matches_response(context):
   mock_response = context.text # this is the payload will come from feature file
   with patch ('match') as mock_match:
      mock_match.get_match.return_value = {"status": "success"}

但这似乎不起作用,因为它仍在请求实际的 HTTP 请求。

我需要将 get_match 方法模拟为 return {"status": "success"} 结果

好的,我明白了,你需要把你的初始化放在 mock 中,所以:

from mock import patch
from matches import get_match


with patch ('match') as mock_match:
      mock_match.retun_value = {"status": "success"}
      get_match()