【发布时间】:2014-04-02 10:42:56
【问题描述】:
我想测试一个 find rest 服务,如果我找到了我想从数据库中删除的东西,否则什么都不做
我这样使用它(其中 rs 是 find 的响应)
JsonPath jsonPath = rs.getBody().jsonPath();
Object foundName= jsonPath.get("name");
if (foundName!= null) {
expect().statusCode(200).when().delete("..." + foundName);
}
所以当什么都没找到时如何检查 foundName ,因为我尝试了 foundName!=null 或 foundName != "",但它仍然无法正常工作。 所以请解释一下空响应体的结构是什么
【问题讨论】:
-
在java中你不能用
!=比较字符串。使用String.equals("")方法 -
是的,我也试过了,发现Name.equals("") 是假的
-
尝试使用调试器查找
foundName的值 -
我尝试调试,发现名称的值为 ArrayList
子元素: elementData = Object[0] (显示值为 []) , modCount = 0 , size = 0 -
所以显然它不是您期望的字符串。现在您离发现错误更近了一步,您认为可以从这里开始工作吗?
标签: java json rest rest-assured