В моем классе обслуживания это
CacheLookupPolling_Darwin CacheLookupPolling_Darwin_FRAGMENT = beanFactory.getBean(CacheLookupPolling_Darwin.class);
String s = CacheLookupPolling_Darwin_FRAGMENT.cacheLookupPolling_Darwin(String, httpHeaders);
Класс CacheLookupPolling_Darwin определяет DefaultHttpServletRequest следующим образом
private DefaultHttpServletRequest Request;
В этом классе функция cacheLookupPolling_Darwin выполняет следующую инициализацию:
Request = (DefaultHttpServletRequest) ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
Как я могу издеваться над этим поведением запроса в моем тестовом классе, .getRequest () выдает исключение nullPointerException.
Любой совет?
1 ответ
Вы можете внедрить bean-компонент CacheLookupPolling_Darwin
в свой тестовый класс, используя @MockBean
, а затем смоделировать его поведение с помощью Mockito.
Например:
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class SomeTestSuite {
@MockBean
private CacheLookupPolling_Darwin cacheLookupPolling_Darwin;
@Test
public void someTest() {
given(cacheLookupPolling_Darwin.cacheLookupPolling_Darwin(ArgumentMatchers.anyString(), ArgumentMatchers.any()))
.willReturn("mocked return value"));
}
}
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.