在grails集成测试中,我的代码类似于:
def ctrlA = new MyController()
... make some request that returns 'ok' ...
assert ctrlA.response.json.status == 'ok'
def ctrlB = new MyController()
... make some request that returns 'error' ...
assert ctrlB.response.json.status == 'error' // fails; status still equals 'ok'
问题:即使ctrlB
实际上确实返回的json响应看起来像{ status: 'error' }
,我实际上也看到{ status: 'ok' }
,ctrlA.response.json
中的值!我在控制器中的日志表明肯定会返回“错误”。
为什么会这样?
答案 0 :(得分:2)
阿。完全不需要单独的ctrlA
和ctrlB
。只需在中间拨打ctrl.response.reset()
。