2016-12-08 9 views
0

テストメソッド中に、インジェクタからオブジェクトのインスタンスが作成されているかどうかをテストします。この目標を達成するための最良の解決策は何ですか?クラスが作成されたかどうかGuiceテスト

@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); 
} 
関連する問題