2012-06-18 168 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

确定。我想用某种封装来保存和读取这些闪存参数将是一件好事 - 我错过了在游戏测试基础设施 –