以下のコードは機能していません
@BeforeClass
public static void setUp() {
service=new BusManager();
logger = mock(Logger.class);
when(logger.isDebugEnabled()).thenReturn(true);
doAnswer(new MakePersistentCallback()).when(logger).debug(argStr.capture());
mockStatic(Logger.class);
when(Logger.getLogger(argClass.capture())).thenReturn(logger);
entityMngr = mock(IEntityMgr.class);
applicationBusManager = mock(ApplicationBusManager.class);
antityManagerFactory = mock(EntityManagerFactory.class);
applicationEntityMgr=mock(ApplicationEntityMgr.class);
userApplicationEntityMgr=mock(UserApplicationEntityMgr.class);
disBusManager=mock(DisBusManager.class);
ReflectionTestUtils.setField(service,"entityManagerFactory",entityManagerFactory);
ReflectionTestUtils.setField(service,"applicationBusManager",applicationBusManager);
ReflectionTestUtils.setField(service,"disBusManager",disBusManager);
when(entityManagerFactory.getEntityManager("applicationEntityMgr")).thenReturn(applicationEntityMgr);
when(entityManagerFactory.getEntityManager("applicationEntityMgr")).thenReturn(applicationEntityMgr);
}
次のエラーが表示されています。私の目的は、junits とともに cobertura レポートを提供することです。ロガーもカバーする必要があります...そのため、テスト クラスの初期化の前にロガー コードを配置します。
java.lang.NullPointerException
at org.apache.commons.logging.impl.Log4JLogger.isDebugEnabled(Log4JLogger.java:299)
at org.springframework.test.util.ReflectionTestUtils.setField(ReflectionTestUtils.java:109)
at org.springframework.test.util.ReflectionTestUtils.setField(ReflectionTestUtils.java:81)
at
ロガーのモックを使用すると、コードは正常に動作します..しかし、ロガーも動作する必要があります..