gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:52 25 4
gpt4 key购买 nike

我编写了一些 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, Play 版本:2.1.0。

你能告诉我哪里出了问题吗?

更新:

有些测试使用 fakeapplication(),有些则不使用。这是造成问题的原因。如果我将 fakeapplication() 添加到所有测试中或从所有测试中删除它,那么它就会通过。

最佳答案

我发现,当我们混合普通 junit 测试和使用 fakeapplication() 运行的测试时,就会出现问题。当我使用fakeapplication()移动所有测试运行或将其移动到普通的junit测试而不使用任何游戏的假应用程序时,测试运行没有问题。但在 Windows 机器中,无论混合如何,测试都会通过,这增加了困惑。

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

关于java - Play 框架 2.1 测试无法识别已启动的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18702934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com