我正在尝试使用 pact-python 库为 POST 端点创建消费者方协议。但它失败并显示“缺少请求”的错误。
这不是进行 POST API 调用的客户端代码
def create_user(request):
return requests.post("http://localhost:1234/user", data=request).json()
这是我创建消费者协议的测试类。
class TestUserConsumer(unittest.TestCase):
def test_user_creation(self):
request = {
"name": "Micky",
"age": 0
}
response = {
"id": 1232,
"name": "Micky",
"age": 0
}
pact = Consumer("user_client").has_pact_with(Provider("user_server"))
pact.start_service()
pact.with_request(
method='post',
path='/user',
body=request
).will_respond_with(status=200, body=response)
with pact:
create_user(request)
pact.verify()
pact.stop_service()
测试失败,出现以下错误。
line 268, in verify
assert resp.status_code == 200, resp.text
AssertionError: Actual interactions do not match expected interactions for mock MockService.
Missing requests:
POST /user
create_user(request) 正在执行,但交互仍然没有记录在 pact 模拟服务器上。
注意: GET API 协议创建工作正常。只有 POST 失败。
感谢帮助。