Playframework Play application.conf-测试配置
在Play application.conf中,我有默认值,Playframework Play application.conf-测试配置,playframework,playframework-1.x,Playframework,Playframework 1.x,在Play application.conf中,我有默认值,%test,%stage和%prod值: %stage.application.mode=prod %prod.application.mode=prod %test.application.mode=test #default values property=someValue %test.property=testValue %stage.property=stageValue %prod.property=prodValu
%test
,%stage
和%prod
值:
%stage.application.mode=prod
%prod.application.mode=prod
%test.application.mode=test
#default values
property=someValue
%test.property=testValue
%stage.property=stageValue
%prod.property=prodValue
我无法更改这些,因为它们是在应用程序部署到相应环境时使用的
但是,我需要能够在测试模式下开始播放,以便在本地机器上进行单元测试,设置与%test中的设置不同
有没有一种方法可以添加另一个测试配置,比如说
%unittest
,并使用这些配置在测试模式下启动播放(播放测试)?它实际上是以另一种方式工作的:
你定义
%testunit.application.mode=dev
重要提示:前缀必须是test-
并设置如下值
%testunit.property=testValue
最后,您需要在命令行上设置播放服务器的“id”:
$play id
在本例中,它将是测试单元
参考资料:谢谢!你知道为什么我不能使用
%test.application.mode=test
并在测试模式下开始播放(播放测试
)?我得到java.lang.IllegalArgumentException:No enum const class play.play$Mode.TEST
。只有两种模式,dev
和prod
<代码>开发是测试的模式)。我修改了答案以反映这一点。没错!虽然看起来如果我有%unittest.application.mode=dev
和%test.application.mode=dev
,我将play id设置为unittest并启动play test
,但它加载%test
配置的不是%unittest
。我正在查看文档。现在看看源代码,如果您正在运行test
,那么就必须使用特殊前缀test-
。我已经用http.port
属性对它进行了测试,它是这样工作的。答案(再次)更新。