在 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()
我正在尝试使用 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()