2016-08-01 6 views
1

私はjMockitの新機能で、java.util.loggerのインスタンスを注入したクラスをテストしようとすると問題に遭遇します。 私はjava.util.loggingをモックする方法

誰もがそれをテストするために、いくつかの方法があるでしょうか、私にはそれを

public class underTest { 

@Inject 
Logger logger; 

@Inject Service service; 

public void doSomeThing() 
{ 
    logger.info("Invoking Service... "); 
    service.serve(); 
}; 

} 



public class TestClass 
{ 
@Tested underTest tested; 

@Test 
public void howToTest() 
{ 
    . 
    , 
    . 
    . 
    tested.doSomeThing(); 
} 
} 

答えて

1

法を示しますすることができ,,これを行うにはどのようなアイデアの数を試みました。 JMockitのTutorialを読むことをお勧めします。あなたのケースでは

これは動作するはずです:

@RunWith(JMockit.class) 
public class TestFoo { 

    @Injectable 
    Logger logger; 

    @Injectable 
    Service service; 

    @Tested 
    private UnderTest underTest; 

    @Test 
    public void howToTest(){ 
     underTest.doSomeThing(); 
     new Verifications(){{ 
      service.serve(); 
      logger.info(anyString); 
     }}; 
    } 

} 
関連する問題