Получение NullPointerException при попытке имитировать CacheManager при весенней загрузке junitJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение NullPointerException при попытке имитировать CacheManager при весенней загрузке junit

Сообщение Anonymous »

Я пытаюсь написать junit-тест для CacheManger, который используется в моем коде/проекте с помощьюockito
но он выдает NPE.
Вот фрагмент
CacheContextConfig.java:

Код: Выделить всё

public class CacheContextConfig implements ApplicationContextAware{
@Autowired
CacheManger cacheManger;

public Cache loadCache(String cacheName, Object key){
return cacheManger.getCache(cacheName, key);
}

public void addCache(String cacheName, CacheData cacheData){
//adding data into the cache , which is loaded on application start
}

}
UserDispute.java

Код: Выделить всё

public class UserDispute{
@Autowired
CacheContextConfig cacheContextConfig;

public String manageUserDisputeData(){
//done here some business logic stuff

VaueWrapper valueWrappter = cacheContextConfig.loadCache("userStore", "userKey");  //Here cacheContextConfig is throwing NullPointerExcepion

// business logic
return result;
}
}
Вот тестовый класс
UserDisputeTest

Код: Выделить всё

  @EnableCaching
@RunWith(MockitoJunitRunner.class)
public class UserDisputeTest{

@InjectMocks
UserDispute userDispte;

@Mock
Cache cacheMock;

@Mock
CacheManager cacheManagerMock;

@Mock
CacheContextConfig cacheContextConfigMock;

@BeforeEach
public void setConfig(){
openMocks(this);
}

public void testManageUserDisputeData(){

doReturn(cache).when(cacheManger.getCache(anyString()));
doReturn(valueWrapper).when(cacheContextConfigMock.loadCache(anyString()));
String actualResult = userDispte.manageUserDisputeData();
//Do assertion stuff
}
}
вышеуказанный класс CacheContextConfig используется для загрузки/вставки данных кэша с помощью CacheManger. То же самое используется в классе UserDispute.java с методом loadCache.
Спасибо за помощь Продолжение
Когда я попытался вызвать метод loadCache, используя имитируемый класс cacheContextConfigMock , cacheContextConfigMock выдал исключение NullPointerException.

Подробнее здесь: https://stackoverflow.com/questions/786 ... spring-boo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»