Создание экземпляра CacheManager - NullPointerException - PullRequest
0 голосов
/ 07 мая 2019

В настоящее время тестируемый класс выглядит так, как показано ниже

@Service
public class ClassToBeTested {

private WebTarget target;

@Autowired
private AnotherClass anotherClass;

@Autowired
public ClassToBeTested(String Uri) {
        target = ClientBuilder.newClient().target("some uri");
}

public String getInfo(String A, String B) {
String someValue = anotherClass.getSomeValue(A, B);
...
}

AnotherClass выглядит так, как показано ниже

import javax.cache.CacheManager;

@Service
public class AnotherClass {

private WebTarget target;

private WebTarget satTarget = null;

private HazelcastServerCacheManager ms;

private HazelcastInstance instance;

@Autowired
public AnotherClass(String Url, CacheManager manager) {
target = ClientBuilder.newClient().target("some url");
this.ms = (HazelcastServerCacheManager) manager;
this.instance = ms.getHazelcastInstance();  
}

public String getSomeValue(String A, String B) {
...

Здесь я пытаюсь написать тестовый блок для ClassToBeTested и не хочу издеваться над AnotherClass. Для этого мне нужно AutoWire AnotherClass.

@RunWith(SpringRunner.class)
public class TestClass {

@Autowired
private ClassToBeTested classTobeTested;

@Autowired
private AnotherClass anotherClass;

@TestConfiguration
static class ClassToBeTestedTestConfiguration {
  private CacheManager manager;

  @Bean
  public AnotherClass anotherClass(){
  return new anotherClass("some url", manager);

  @Bean
  public ClassToBeTested classTobeTested(){
  return new classTobeTested("some url");
  }
}

@Test
...

Здесь, когда я пишу тестовый пример и запускаю его, я получаю исключение нулевого указателя. Причиной не является создание экземпляра CacheManager. Как мне это сделать в этом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...