【发布时间】:2013-10-12 07:57:41
【问题描述】:
我在 Play 中的反向路由器有问题! 2.2.0
我想从我的控制器测试一个方法,如the documentation 中所述,如下所示:
@Test
public void testIsSessionSpeaker_true() throws Exception {
// the action
Result result = callAction( controllers.routes.ref.UsersController.isSessionSpeaker(workshop.workshopSession.get(0)),
fakeRequest().withSession("uuid", "123456"));
// test after action
}
当我运行测试时,出现以下错误:
error: cannot find symbol
Result result = callAction(controllers.routes.ref.UsersController.isSessionSpeaker(workshop.workshopSession.get(0)),
^
symbol: method isSessionSpeaker(WorkshopSession)
location: variable UsersController of type ReverseUsersController
1 error
我想测试的方法isSessionSpeaker不能通过路由访问,所以我不能使用route(fakeRequest(PUT, "something"))并且该方法需要一个会话,所以我不能像UsersController.isSessionSpeaker(...)那样“调用它”或者我得到一个There is no HTTP Context available from here.
问题不在于我的 intellij,因为我使用激活器编译和执行测试。
在阅读了一半的网页后,我尝试了一些其他方式将 ref 写为:
controllers.WorkshopManager.routes.ref.UsersController.isSessionSpeaker(...)
controllers.WorkshopManager.routes.UsersController.isSessionSpeaker(...)
controllers.routes.UsersController.isSessionSpeaker(...)
routes.ref.UsersController.isSessionSpeaker(...)
我卡住了!! 如果你想查看所有代码,我将它推送到我的 git repo here
提前感谢您的帮助!
【问题讨论】:
标签: java playframework playframework-2.0