【问题标题】:Play application.conf - test configs播放 application.conf - 测试配置
【发布时间】:2012-09-06 16:42:37
【问题描述】:

在播放 application.conf 我有 default 值,%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

我无法更改这些,因为它们是在将应用部署到相应环境时使用的。

但是,我需要能够在测试模式下启动 Play,以便在本地机器上使用与 %test 不同的设置进行单元测试。

有没有办法添加另一个测试配置,比如%unittest 并使用这些配置在测试模式下开始播放(play test)?

【问题讨论】:

    标签: playframework playframework-1.x


    【解决方案1】:

    它实际上是相反的:

    你定义

    %test-unit.application.mode=dev

    重要提示:前缀必须是test-

    并设置类似的值

    %test-unit.property=testValue

    最后,您需要在命令行中设置 Play 服务器的“id”:

    $ play id

    在本例中为test-unit

    参考:http://www.playframework.org/documentation/1.2.5/guide11

    【讨论】:

    • 谢谢!你知道为什么我不能使用%test.application.mode=test 并在测试模式下开始游戏(play test)吗?我得到java.lang.IllegalArgumentException: No enum const class play.Play$Mode.TEST
    • 只有两种模式,devproddev 是测试模式)。我已经修改了答案以反映这一点。
    • 没错!虽然看起来如果我有%unittest.application.mode=dev%test.application.mode=dev,我将play id 设置为unittest 并启动play test,它加载%test 配置而不是%unittest.
    • 我正在阅读文档。现在查看源代码,事实证明,如果您正在运行 test,则必须使用特殊前缀 test-。我已经用http.port 属性对其进行了测试,它是这样工作的。答案已更新(再次)。
    猜你喜欢
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2012-08-28
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多