假设我有一个模块:
Module extends AbstractModule { @Override protected void configure() { bind(String.class). annotatedWith(Names.named("annotation")). toInstance("DELIRIOUS"); } }
我想测试模块并检查它是否在没有类和字段但直接从注入器获取值的带String注释的字段中注入正确的值Names.named("annotation"):
String
Names.named("annotation")
@Test public void test() { Injector injector = Guice.createInjector(new Module()); // THIS IS NOT GOING TO WORK! String delirious = injector.getInstance(String.class); assertThat(delirious, IsEqual.equalTo("DELIRIOUS"); }
injector.getInstance(Key.get(String.class, Names.named("annotation")));