Play框架 - 具有依赖关系的单元测试控制器

时间:2013-04-20 20:48:16

标签: java unit-testing playframework mocking playframework-2.1

我正在编写使用Play框架(2.1.1版本)的Web应用程序。

我写了第一个非常简单的控制器,我想对它进行单元测试。

问题是,因为Play控制器都是静态的,我想知道模拟依赖项的正确方法是什么,例如,让我们采取一些MyService

private static MyService myService = new MyServiceImpl();

我在我的应用程序中使用这种初始化来提供控制器依赖性。

现在,如果我想模拟我的依赖项,我可以创建静态方法,将myService字段设置为模拟MyService的实现。

这是用Java编写的play框架应用程序完成的吗?或者也许在Play框架中有一些更“惯用”的方式来做这种事情。

1 个答案:

答案 0 :(得分:1)

http://www.playframework.com/documentation/2.1.1/JavaInjection记录了如何实现这样的目标。

On https://github.com/guillaumebort/play20-spring-demo是Play Spring项目的演示。

使用play.Play.isTest(),您可以检查您是否处于测试模式。它记录在http://www.playframework.com/documentation/api/2.1.1/java/play/Play.html