【发布时间】:2017-02-14 14:25:40
【问题描述】:
我想在我的一个测试类中注入 Configuration 实例,我用 ConfiguredApp 扩展了我的测试类并注入了 Configuration,它看起来像这样:
@DoNotDiscover()
class MyApiServiceSpec extends FreeSpec with ScalaFutures with ConfiguredApp {
implicit val formats = DefaultFormats
implicit val exec = global
lazy val configuration = app.injector.instanceOf[Configuration]
"Global test" - {
"testcase 1" in {
Server.withRouter() {
case GET(p"/get/data") => Action { request =>
Results.Ok()
}
} { implicit port =>
WsTestClient.withClient { implicit client =>
val service = new MyApiService {
override def config: Configuration = configuration
override val ws: WSClient = client
}
whenReady(service.getData()) { res =>
//i will test stuff here
}
}
}
}
}
}
(MyApiService is a trait)
在嵌套套件上调用 run 时遇到异常 - ConfiguredApp 需要一个与键关联的应用程序值 配置图中的“org.scalatestplus.play.app”。你忘了 使用@DoNotDiscover 注释嵌套套件? java.lang.IllegalArgumentException: ConfiguredApp 需要一个应用程序 与配置中的键“org.scalatestplus.play.app”关联的值 地图。您是否忘记使用 @DoNotDiscover 注释嵌套套件?
有人知道这是为什么...?
谢谢!333333
【问题讨论】:
标签: scala playframework playframework-2.0 guice scalatest