2013-02-27 124 views
0

在Grails的集成測試,我有一些代碼類似於此: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

嗨,你可以發佈你的完整的測試類嗎?我們無法獲得任何集成測試的工作,我們總是得到空的答覆。 – 2015-01-22 10:33:05

+0

不幸的是,我現在還沒有用grails編寫程序,而且我也無法訪問該代碼。抱歉。 – 2015-01-25 05:13:48

回答

2

啊。完全不需要單獨的ctrlActrlB。請在兩者之間撥打ctrl.response.reset()