【发布时间】:2016-12-23 04:07:12
【问题描述】:
我正在尝试按照 Play 文档中的 this example 来测试带有注入对象的控制器。我复制了示例,但在尝试调用网页时出现错误:
未绑定 test.Component 的实现。
这个错误似乎是正确的,因为我没有调用binding 方法,但是如何解决这个问题?
这是我的代码:
package test
import play.api.mvc._
import javax.inject.Inject
import play.api.{ Environment, Configuration }
import play.api.inject.Module
trait Component {
def hello: String
}
class DefaultComponent extends Component {
def hello = "default"
}
class MockComponent extends Component {
def hello = "mock"
}
class ComponentModule extends Module {
def bindings(env: Environment, conf: Configuration) = Seq(
bind[Component].to[DefaultComponent]
)
}
class Application @Inject() (component: Component) extends Controller {
def index() = Action {
Ok(component.hello)
}
}
【问题讨论】:
-
你是如何运行这段代码的?你如何确保
ComponentModule被游戏识别? -
我在路由
GET /testapp test.Application.index中有一个条目。我不知道如何让ComponentModule被 Play 识别,这是 Play 示例中缺少的部分,请参阅问题中的链接。
标签: scala playframework scalatest playframework-2.5