Я пишу junit, используя mockito для класса Spring @component. Когда он пытается получить доступ к статическому полю из окончательной константы, файл бросает исключение Null pointer.Исключение при получении значений из объекта Mocked с помощью Mockito
CruserDomainTest
@RunWith(MockitoJUnitRunner.class)
public class CruserTest {
@InjectMocks
CruserDomain eDomain = new CruserDomain();
@Test
public void testGetCruseById() throws Exception,
{
String cCode = "AA";
int employeeId = 21305;
when(
cruseRepository.getTestId(
anyString(), anyInt())).thenReturn(
buildAndReturnList());
when(
payDomain.getRefPay(anyString(),
anyString(), anyString(), anyString()))
.thenReturn(buildPay());
CruseMember expectedResponse = eDomain.getMemberById(
airlineCode, employeeId);
}
CruserDomain
//getting null pointer exception in the below line execution
//while getting the current month
public CruseMember getMemberById(String cCode, int employeeId)
throws Exception {
//Some code //
if (contractMonth.getType().equals(
CruseConstant.CURRENT_MONTH)) {
currentMonthStartDate = cMonth.getStartDate();
} else if (contractMonth.getType().equals(
CruseConstant.OTHER_MONTH)) {
nextMonthStartDate = cMonth.getStartDate();
}
CruseConstant:
public final class CruseConstant {
public static final String CURRENT_MONTH = "C";
public static final String OTHER_MONTH = "O";
}
Я попытался с ReflectionTestutils но бросать исключение при стартах JUnit.
Помогите мне в том, как искать статические переменные конечного класса в классе injectMocked.
Известно, что '@ InjectMocks' терпит неудачу, когда ему не удается ввести зависимость. Вы пробовали внедрить метод '@ Before' в свой тест и самостоятельно переусердствовать зависимостями? –
Я использовал утилиты @Before Reflection Test для установки этих значений, но получал ошибку. Есть ли другой способ, помимо рефлексии testutil, установить значения для этих констант. – Ramkumar
Статику не следует издеваться над Mockito, и вам не нужно использовать Reflection to задайте константы, просто пусть метод использует реальные константы. –