In a grails integration test, I have code that resembles this:
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'
Problem: Even when ctrlB
actually does return a json response that looks like { status: 'error' }
, I'm actually seeing { status: 'ok' }
, the value that was in ctrlA.response.json
!! My logs in the controller indicate that 'error' is most definitely being returned.
Why is this?
Ah. Don't need the separate ctrlA
and ctrlB
at all. Just call ctrl.response.reset()
in between.