Playframework 如何通过功能测试设置和验证闪存范围

Playframework 如何通过功能测试设置和验证闪存范围,playframework,Playframework,在游戏功能测试中,我正在执行对一些控制器方法的请求。 在控制器中,我使用flash示波器获取一些参数,并对其进行操作。 但是,在测试中,我无法设置此闪存参数,我尝试了: Flash.current().put("key","value"); 但这会在测试中产生NullPointerException 控制器中的闪存范围为空: flash.get("key") 如何设置闪存示波器?我不想测试设置这个flash值的整个工作流程,我只想专注于这一个请求。功能测试执行与使用功能测试的测试设置在不同的

在游戏功能测试中,我正在执行对一些控制器方法的请求。 在控制器中,我使用flash示波器获取一些参数,并对其进行操作。 但是,在测试中,我无法设置此闪存参数,我尝试了:

Flash.current().put("key","value");
但这会在测试中产生NullPointerException

控制器中的闪存范围为空:

flash.get("key")

如何设置闪存示波器?我不想测试设置这个flash值的整个工作流程,我只想专注于这一个请求。

功能测试执行与使用功能测试的测试设置在不同的线程中,因此设置flash.current()将不起作用

但是,
FunctionalTest
类在调用之间存储cookie

因此,测试使用flash作用域的请求的一种可能性是,首先调用请求,在应用程序中,该请求确实设置了flash作用域——尽管根据您的描述,您不希望这样做


另一种可能是手动将Flash作用域变量放入
请求中的cookie中
——您需要查阅
play.mvc.Scope.Flash.save()
,了解格式。

功能测试的执行与功能测试的测试设置在不同的线程中,因此设置Flash.current()将不起作用

但是,
FunctionalTest
类在调用之间存储cookie

因此,测试使用flash作用域的请求的一种可能性是,首先调用请求,在应用程序中,该请求确实设置了flash作用域——尽管根据您的描述,您不希望这样做


另一种可能是手动将Flash作用域变量放入
请求中的cookie中
——您需要查阅
play.mvc.Scope.Flash.save()
,了解格式。

确定。我想某种保存和读取这些flash参数的包装器将是一件好事——我错过了在线测试基础设施OK。我想某种保存和读取这些flash参数的包装器将是一件好事——我错过了游戏中的测试基础设施