2012-06-18 166 views
1

我執行我的一些控制器方法的要求建立和驗證閃光範圍。 而在控制器中,我使用閃存範圍來獲取一些參數並使用它。 然而,在測試中,我不能設置此參數閃光,我想:如何從遊戲功能測試功能測試

Flash.current().put("key","value"); 

但給人的NullPointerException測試。

和控制器閃光範圍爲空:

flash.get("key") 

如何設置閃光範圍是什麼?我不想測試設置這個Flash值的整個工作流程,並閱讀它,我只想集中在這個請求上。

回答

1

功能測試執行是在不同的線程比測試設置的功能測試,所以設置Flash.current()將無法工作。

雖然,FunctionalTest類存儲調用之間的cookie。

所以一個可能性,該使用閃光燈範圍是首先調用它,在你的應用程序,確實設置閃光範圍要求的測試請求 - 儘管根據你的描述,你不想說。

另一種可能性是手動將Flash-Scoped變量放入Request中的cookie中 - 您需要諮詢play.mvc.Scope.Flash.save()的格式。

+0

確定。我想用某種封裝來保存和讀取這些閃存參數將是一件好事 - 我錯過了在遊戲測試基礎設施 –