【发布时间】:2014-04-06 14:21:15
【问题描述】:
有人知道通过设置模拟对象来测试基于 Java 的 Play Framework 控制器的任何示例吗? 我在我的 Play 项目中使用 Spring,所以我的所有控制器方法都不是静态的。
测试传统方式,Play 将我的控制器显示为具有静态方法,我只是看不到如何将模拟注入到我的对象中
Result result = callAction(
controllers.routes.ref.LoginController.authenticate(),
fakeRequest().withFormUrlEncodedBody(TestUtils.SUCCESSFUL_LOGIN_MAP)
);
我有许多服务需要在 LoginController 中调用,我想将它们设置为模拟
非常感谢任何帮助
谢谢 达米安
【问题讨论】:
-
也许PowerMock 是你的朋友。它能够模拟对静态方法的调用,因此您可以模拟 LoginController 对象并添加对静态方法的调用的期望。
-
谢谢丹。我可以通过不使用标准播放框架测试来解决这个问题,而只需像普通 bean 一样调用控制器来使用模拟对象
标签: java mocking playframework-2.2 easymock