我有一个特性Config
,其中包含一堆配置值。
我有这个特性的默认impl DefaultConfig
,其中包含这些字段的生产值。我在@ImplementedBy( classOf[DefaultConfig] )
上使用Config
,在我的控制器中,它被注入:
class SignupController @Inject()(cc: ControllerComponents, config: Config)
到目前为止这一切都有效 - 但我想要另一个Config
的实现,称为TestConfig
,其中包含测试数据库的凭据等。我喜欢在测试期间注入TestConfig
而不是DefaultConfig
。
有关如何实现这一目标的任何想法?我的测试从PlaySpec with GuiceOneAppPerSuite with Injecting
答案 0 :(得分:1)
启动测试应用程序时,您可以覆盖注入的类:
override lazy val app = new GuiceApplicationBuilder()
.overrides(bind[Config].to[TestConfig])
.build