У меня есть этот конструктор:
public class AuditsLoaderService {
public AuditsLoaderService(
BackOfficeProperties backOfficeProperties,
FrontOfficeInterfaceService frontOfficeService,
AuditService auditService,
I18nResourceBundleMessageSource messageSource,
MonitorService monitor
) {
// some code
}
}
и AuditService
- это:
public class AuditService {
public AuditService(
BackOfficeProperties backOfficeProperties,
AuditFactory auditFactory,
AuditDao auditDAO,
RedisDao auditRedisDao,
ObjectMapper objectMapper,
I18nResourceBundleMessageSource messageSource
) {
В моем тесте:
@RunWith(MockitoJUnitRunner.class)
public class MalformedAuditsTest {
@Mock
private BackOfficeProperties backOfficeProperties;
@Mock
private AuditFactory auditFactory;
@Mock
private AuditDao auditDao;
@Mock
private RedisDao redisDao;
@Mock
private ObjectMapper objectMapper;
@Mock
private I18nResourceBundleMessageSource i18nResourceBundleMessageSource;
@Mock
private MonitorService monitorService;
@InjectMocks
@Spy
private AuditService auditService;
@InjectMocks
private FrontOfficeInterfaceService frontOfficeService;
@InjectMocks
private AuditsLoaderService auditsLoaderService;
}
Тем не менее, я 'я получаю NulPointerException
внутри моего AuditsLoaderService
, поскольку auditService
- это null
.
Кажется, он не введен.
Я аннотировал его как:
@InjectMocks
@Spy
private AuditService auditService;
Должен ли я добавить еще код / аннотацию?
РЕДАКТИРОВАТЬ
Я только что не понял ни frontOfficeService
, ни auditSerice
вводятся.
Итак, кажется, что все поля @InjectMocks
не вводятся в другие