Как я могу предотвратить использование модуля guice? - PullRequest
0 голосов
/ 22 ноября 2018

Как запретить Guice настраивать этот модуль в тесте?

class SnsModule extends AbstractModule {
  override def configure(): Unit = {
    val snsClient: AmazonSNSAsyncClient = AmazonSNSAsyncClientBuilder.standard().build().asInstanceOf[AmazonSNSAsyncClient]
    bind(classOf[AmazonSNSAsyncClient]).toInstance(snsClient)
  }
}

Я попытался переопределить модуль:

  private val snsModule = new AbstractModule{
    override def configure(): Unit = {
      val snsClient: AmazonSNSAsyncClient = mock[AmazonSNSAsyncClient]
      bind(classOf[AmazonSNSAsyncClient]).toInstance(snsClient)
    }
  }

  override implicit lazy val app: Application = GuiceApplicationBuilder().overrides(new TestJwkModule(),  snsModule).build()

Однако configure() в SnsModule по-прежнемус проблемой, потому что в моей тестовой среде исключение выдается AmazonSNSAsyncClientBuilder.

1 Ответ

0 голосов
/ 23 ноября 2018

disable предотвращает загрузку модуля, например:

override implicit lazy val app: Application = GuiceApplicationBuilder().
   disable(classOf[SnsModule])
   overrides(snsModule).build()
...