如何检查代码执行是否来自Play2中的测试?

wea*_*ire 1 scala playframework-2.0

我不想在测试(Specs2)时执行一些代码.例如.电子邮件发件人.

如何检查我的代码是否正在执行测试?我在我的规范中使用了fakeApplication和TestServer.

替代方案我可以通过这种方式检查我的数据库驱动程序(h2用于测试和postgres用于生产).

import play.api.Play.current

  def isFromTests:Boolean={
    Play.application.configuration.getString("db.default.driver") match {
      case Some("org.h2.Driver") => true
      case _ =>false
    }
  }
Run Code Online (Sandbox Code Playgroud)

但是有更好的吗?有时我用h2运行我的应用程序.

Far*_*hin 5

您可以使用play.Play.isTest()方法检查您是否在测试模式下运行.