2

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

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

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

private static MyService myService = new MyServiceImpl();

我在我的应用程序中使用这种初始化来传递控制器依赖项。

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

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

4

1 回答 1

1

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

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上。

于 2013-04-21T07:39:46.497 回答