播放2.0自动应用测试模式conf

时间:2012-06-28 22:56:23

标签: playframework-2.0 typesafe-stack

我的应用程序会将文件上传到S3,但我希望它在测试模式(播放测试)下运行时上传到另一个存储桶。这有什么解决方法吗?我在play 1.x中看到了一个名为application id的功能。但我无法在2.0文档中找到它。

运行测试模式时,play将使用'test.s3.bucket'而不是's3.bucket'。

application.conf

s3.bucket=prodbucket
test.s3.bucket=testbucket

编辑: 除了#kheraud回答,Application提供了isProd(),isTest()和isDev()。

String bucketName = (Play.application().isProd())
                ? Play.application().configuration().getString("s3.bucket")
                : Play.application().configuration().getString("dev.s3.bucket");

1 个答案:

答案 0 :(得分:1)

您可以使用(未​​测试)访问运行模式:

import play.api.Play.current

val targetBukkett = if(play.api.Play.application.mode == "Dev") {
    test.s3.bucket
} else {
    s3.bucket
}