我正在评估 Canoo Webtest 作为 Grails 插件的自动集成/功能测试。
我有一个我正在尝试测试的 REST 应用程序,但 Canoo Webtest似乎没有在 POST 请求中正确发送 JSON 数据。我的测试代码如下
invoke( description:"Add a product to shopping cart",
url:'shoppingCart/add', method:'POST',
content:'{"class":"shop.service.Product", "name":"A product", "description":"Manufactured by X", "price":99.9}'
//contentFile: '../product.json'
)
无论我使用 contentFile 方法还是将数据内联为内容属性,请求正文都是空的。测试报告显示数据已正确发送,但错误页面显示错误说明“JSONException:缺少值。在 ' 的字符 0 处。作为 GET 请求的响应的 JSON 数据恢复正常。
我已经用 curl 测试了相同的功能,它工作得非常好。Canoo Webtest 设置中是否缺少某些内容?
谢谢。
编辑:我正在使用 Grails 1.3.7 以防万一