我正在使用Spock插件编写一个Grails 2.2.1集成测试,在测试中,我试图将两组数据发布到同一个控制器端点:
when: "The user adds this product to the inventory"
def postData = [productId: 123]
controller.request.JSON = postData
controller.addToInventory()
and: "Then they add another"
def secondPostData = [productId: 456]
controller.request.JSON = secondPostData
controller.addToInventory()
then: "The size of the inventory should be 2"
new JSONObject( controller.response.contentAsString ).inventorySize == 2
我看到的问题是,相同的 JSON 数据被提交到 addToInventory() 方法中进行处理。
这个 StackOverflow 的问题 建议调用 controller.request.reset() 方法,但这并没有奏效(No signature of method: org.codehaus.groovy.grails.plugins.testing.GrailsMockHttpServletRequest.reset())。
我所尝试的这种方式是否可行?