我正在尝试通过下面的功能文件断言JSON响应为空值
Scenario Outline: GET incident notifications
Given I made a GET request for incident notifications for the "<incident>"
Then I should be able to see "<NotificationID>", "<DateTime>", "<ActionID>", "<Subject>", "<CreatedBy>","<Notes>"
Examples:
| incident |NotificationID|DateTime |ActionID|Subject |CreatedBy|Notes|
| 399 | 211 |2017-11-28T14:30:11.01|0 |Logged with Openreach| | |
| 400 | 2112 |2017-11-28T14:35:11.01|1 |Processed at Openreach|Agent | AgentNotes |
这是我的步骤定义-
assertThat(webModel.getRestServices().response.getBody().path("CreatedBy[0]"),is(CreatedBy));
assertThat(webModel.getRestServices().response.getBody().path("Notes[0]"),is(Notes));
这是我得到的错误声明错误-
java.lang.AssertionError:
Expected: is ""
but: was null
我可以通过断言nullValue()
来使此功能正常工作,但是第二次运行将失败,因为它必须从功能文件中获取参数。
任何帮助将不胜感激。
答案 0 :(得分:0)
当在功能文件中将任何参数设为空白时,将其视为null。这就是您在将null与String进行比较时收到此错误的原因。 我们可以通过在断言之前执行null或空检查来解决此问题。如果该值为null,它将跳过断言,否则将断言。