AtUnit и guice переопределяют модуль

Я хотел бы использовать

Module functionalTestModule
    = Modules.override(new ProductionModule()).with(new TestModule());

для тестовых случаев, чтобы я мог унаследовать все производственные привязки и просто переопределить их для тестов (замена экземпляров на ложные). Есть ли способ сделать это с AtUnit. Реализующий модуль кажется странным в дизайне, так как я думаю, что мы хотели бы просто унаследовать все производственные привязки и смоделировать необходимые, но, возможно, есть и другой способ, кроме наличия тестового реализующего модуля.

Может быть, есть способ аннотировать AtUnit, сообщая AtUnit о производственном модуле в тестовом примере и затем настраивая в тестовом примере, который получает переопределения TestModule? есть ли такой способ?

спасибо, Дин

1 ответ

Решение

Я ничего не знаю об AtUnit, но быстрый взгляд на него заставляет его выглядеть так, как будто вы просто реализуете Module в вашем тесте. Я не знаю, есть ли другой способ сделать это, но следуя этим правилам, вы могли бы просто сделать:

public class SomeTest implements Module {
  public void configure(Binder binder) {
    binder.install(Modules.override(new ProductionModule()).with(new TestModule()));
  }
}
Другие вопросы по тегам