java - 运行测试游戏!框架 - 数据源用户为空

标签 java testing playframework playframework-2.0

您好,我正在尝试使用 Play 在网络应用程序中运行简单的测试!框架,但出现错误:

[info] RouteTest
[error] Test RouteTest.testRouteActivityIndex failed: DataSource user is null?
[error]     at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.<init>(DataSourcePool.java:198)
[error]     at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.getDataSource(DataSourceManager.java:210)
[error]     at com.avaje.ebeaninternal.server.lib.sql.DataSourceGlobalManager.getDataSource(DataSourceGlobalManager.java:63)
[error]     at com.avaje.ebeaninternal.server.core.DefaultServerFactory.getDataSourceFromConfig(DefaultServerFactory.java:427)
[error]     at com.avaje.ebeaninternal.server.core.DefaultServerFactory.setDataSource(DefaultServerFactory.java:388)
[error]     at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:168)
[error]     at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:125)
[error]     at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)
[error]     at com.avaje.ebean.EbeanServerFactory.create(EbeanServerFactory.java:64)
[error]     at com.avaje.ebean.Ebean$ServerManager.getWithCreate(Ebean.java:237)
[error]     at com.avaje.ebean.Ebean$ServerManager.get(Ebean.java:224)
[error]     at com.avaje.ebean.Ebean$ServerManager.access$200(Ebean.java:159)
[error]     at com.avaje.ebean.Ebean.getServer(Ebean.java:288)
[error]     at play.db.ebean.Model$Finder.server(Model.java:216)
[error]     at play.db.ebean.Model$Finder.all(Model.java:230)
[error]     at models.Activity.all(Activity.java:29)
[error]     at controllers.Application.activities(Application.java:18)
[error]     at Routes$$anonfun$routes$1$$anonfun$apply$5$$anonfun$apply$6.apply(routes_routing.scala:60)
[error]     at Routes$$anonfun$routes$1$$anonfun$apply$5$$anonfun$apply$6.apply(routes_routing.scala:60)
[error]     at play.core.Router$HandlerInvoker$$anon$4$$anon$1.invocation(Router.scala:1086)
[error]     at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:33)
[error]     at play.core.j.JavaAction$class.apply(JavaAction.scala:74)
[error]     at play.core.Router$HandlerInvoker$$anon$4$$anon$1.apply(Router.scala:1085)
[error]     at play.test.Helpers.invokeHandler(Helpers.java:34)
[error]     at play.test.Helpers.routeAndCall(Helpers.java:246)
[error]     at play.test.Helpers.routeAndCall(Helpers.java:231)
[error]     at RouteTest.testRouteActivityIndex(RouteTest.java:14)
[error]     ...
[info] x RouteTest.testRouteActivityIndex

测试代码为:

    @Test
public void testRouteActivityIndex(){
    Result result = routeAndCall(fakeRequest(GET, "/activities"));
    Assert.assertNotNull(result);
}

我尝试研究该错误,但没有发现任何对这种情况非常有用的东西,甚至是网站的 Play !。有人经历过这个吗?

最佳答案

您的 /activities 操作可能会对数据库进行一些调用。

因此,您应该在正在运行的虚假应用程序中进行测试,如本文档的“在虚假应用程序中运行”部分所述:http://www.playframework.org/documentation/2.0.3/JavaTest

并且不要忘记导入静态 Helper:

import static play.test.Helpers.*;

关于java - 运行测试游戏!框架 - 数据源用户为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676160/

相关文章:

java - JDBC——列函数的结果集值

java - 使用 @Async 时,范围 'request' 对于当前线程不活动

java - 字符串数组初始化作为构造函数参数

python - 我应该如何测试在循环中调用了多个函数?

java - 玩java 2.5 guice急切加载并停止钩子(Hook)不工作

java - 无法正确设置构造函数

java - 使用 Android Test Orchestrator 执行 Instrumented 测试时无法获取异常的堆栈跟踪

php - Laravel 测试页面上元素的顺序

java - Play 的通用包装方法!楷模

java - EssentialFilter play framework java(记录时间)