Question

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?

Était-ce utile?

La solution

Ah. Don't need the separate ctrlA and ctrlB at all. Just call ctrl.response.reset() in between.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top