1

我已经编写了几个 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() ,有些则不使用。这导致了问题。如果我将 fakeapplication() 添加到所有测试中或从所有测试中删除它,那么它就通过了。

4

1 回答 1

1

我已经确定,当我们将普通 junit 测试和使用fakeapplication(). 当我移动所有测试运行fakeapplication()或将其移动到没有任何 play 的假应用程序的普通 junit 测试时,测试运行没有问题。但是在 Windows 机器中,无论混合如何,测试都通过了,这增加了混乱。

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

于 2013-09-12T11:47:40.647 回答