Play框架2.1测试无法识别启动的应用程序

时间:2013-09-09 16:37:53

标签: java junit playframework

我写了几个Junit测试,当我尝试执行时,一些测试在初始化DBConnection时出现以下错误

[error] Caused by: java.lang.RuntimeException: There is no started application
[error]     at scala.sys.package$.error(package.scala:27)
[error]     at play.api.Play$$anonfun$current$1.apply(Play.scala:46)
[error]     at play.api.Play$$anonfun$current$1.apply(Play.scala:46)
[error]     at scala.Option.getOrElse(Option.scala:120)
[error]     at play.api.Play$.current(Play.scala:46)
[error]     at play.api.Play.current(Play.scala)
[error]     at play.Play.application(Play.java:12)
[error]     at DAO.DBManager.<init>(DBManager.java:35)

有趣的是,这些测试在构建机器和其他机器上成功执行。这应该是一些环境设置问题。 操作系统:Ubuntu12, 播放版本:2.1.0。

你能指导我一定有什么不对吗?

更新

有些测试使用假应用()而有些则没有。这导致了这个问题。如果我将fakeapplication()添加到所有测试中或从所有测试中删除它然后传递。

1 个答案:

答案 0 :(得分:1)

我已经确定当我们混合使用普通junit测试和使用fakeapplication()运行的测试时会出现问题。当我使用fakeapplication()移动所有测试运行或将其移至普通junit测试而没有任何游戏的假应用程序时,测试运行没有问题。 但是在Windows机器中,测试通过而不管混合,这增加了混乱。

注意:您将无法使用简单的junit测试运行连接到DB的测试。

相关问题