我正在尝试在Pycharm中运行简单的否定api测试。 它将api调用的json响应与“预期”数据进行比较。 呼叫返回此:
{'error_message': 'invalid UUID format'}
在我们的测试中,我们用^数据断言实际响应。 测试:
def test(environment):
resp = getSomeData(environment, negative)
respString = resp.read().decode('utf-8')
jsonResponse = json.loads(respString)
assert jsonResponse == "{'error_message': 'invalid UUID format'}"
在pycharm中使用pytest运行此测试时,它将返回
{'error_message': 'invalid UUID format'} != {'error_message': 'invalid UUID format'}
Expected :{'error_message': 'invalid UUID format'}
Actual :{'error_message': 'invalid UUID format'}
请指出正确的方向。预先感谢
答案 0 :(得分:2)
如评论中所指出,您的测试应将jsonResponse
(是dict
)与另一个dict
(而不是字符串)进行比较:
assert jsonResponse == {'error_message': 'invalid UUID format'}
在这种情况下,测试输出不是很友好,因为它使您认为两个对象是相同的。