2016-12-08 2 views
0

Я хочу проверить, создан ли во время тестового метода экземпляр объекта из инжектора. Какое наилучшее решение для достижения этой цели.Guice test, был ли класс создан

@Test 
public void testThingNotInstantiated() { 
    AnotherThing another = new AnotherThing(); 
    // assert not instance of Thing created 
} 

ответ

2

Если вы просто хотите проверить, что Guice впрыскивает ваш AnotherThing вы можете написать:

Injector injector 

@Before { 
    injector = Guice.createInjector(new AnotherThingModule()); 
} 

@Test 
public void testAnotherThingInstantiated() { 
    //act 
    AnotherThing another = injector.getInstance(AnotherThing.class); 

    //assert 
    assertNotNull(another); 
} 

Если AnotherThing является @Singleton, и вы хотите, чтобы проверить, что Guice не экземпляр дважды вы можете написать :

@Test 
public void testSingletonAnotherThingNotInstantiatedTwiceByInjector() { 
    //act 
    AnotherThing first = injector.getInstance(AnotherThing.class); 
    AnotherThing second = injector.getInstance(AnotherThing.class); 

    //assert 
    assertSame(first, second); 
} 
Смежные вопросы