Playframework 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

在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=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
属性对它进行了测试,它是这样工作的。答案(再次)更新。