2017-05-25 30 views
0

我在比较对象类型化的Env变量和Postman中的响应对象时存在问题,即使它看起来相同并且无法在任何地方找到答案。POSTMAN:将对象环境变量与响应对象进行比较

这里的例子:

使用的对象是:

"user": 
{ 
    "id" = 1, 
    "first_name": "John", 
    "last_name": "Smith" 
} 

当使用POST请求我使用保存对象作为环境变量:

var reqdata = JSON.parse(data.request); 
postman.setEnvironmentVariable("User", JSON.stringify(reqdata.user)); 

,然后在GET回应我想通过以下方式进行比较:

预先请求脚本:

user = JSON.parse(postman.getEnvironmentVariable("User")); 

,然后在测试:

var data = JSON.parse(responseBody); 
tests["user contains correct data"] = data.user == user; 
    console.log(data.user); 
    console.log(user); 

的执行console.log返回完全相同的对象,但我仍然得到失败。我尝试使用Object.is()和===,但它仍然返回失败。有人能告诉我我失踪了什么吗?

干杯

回答

1

我已经找到了解决办法,我使用:

tests["user contains correct data" = JSON.stringify(data.user) == JSON.stringify(user); 

而且我还可以删除测试脚本和使用,而不是第二个字符串化裸postman.getEnvironmentVariable()。