【发布时间】:2019-05-08 14:05:12
【问题描述】:
我正在使用 Rest-Assured 开发 Api 自动化测试。这是我的 API 响应:
{
"is_active": false,
"token": null
}
我想确定 Token 为空,所以我开发了以下代码:
public void responseLoginFacebookTokenSemCad (String srtToken) {
boolean responseToken = Boolean.valueOf(srtToken);
Assert.assertTrue(ResponseHolder.getResponseBody().contains("token"));
boolean resBodyLoginFacebookSemCad = ResponseHolder.getResponseJson().get("token");
Assert.assertEquals(resBodyLoginFacebookSemCad, responseToken);
}
String srtToken 类似于“null”。我收到以下消息:
java.lang.NullPointerException 在 stepDefinition.dataMap.responseLoginFacebookTokenSemCad(dataMap.java:409) 在 stepDefinition.steps.validaTokenLoginFacebook(steps.java:277) 在✽.no response no compo token retornara null(file:src/test/java/Autobusca/Ford/loginFacebook.feature:23)
如何验证它?谢谢
【问题讨论】:
-
哪一行抛出异常?
-
使用包装器
Boolean而不是原始的boolean类型,前者允许nulls,而后者不允许 -
检查 ResponseHolder.getResponseJson().get("token") 是否为空;如果不是,则分配获取的值。 boolean 如果未赋值,默认为 false,所以只需检查它是否为空
标签: java rest-assured rest-assured-jsonpath