Вопрос

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top