Mam testy integracyjne (kontekst obciążenia) i testy jednostkowe działające razem. Mój kod wykonuje kompresję czasu według sprężyny.Wyłączanie niektórych aspektów podczas testów jednostkowych
Moim problemem jest to, że moje zadeklarowane porady biegną również podczas niektórych testów jednostkowych. To zabija pojęcie testu jednostkowego, dlatego chciałbym je wyłączyć.
Czy jest coś, co mogę umieścić w deklaracji cięcia, jakiejś metodzie, którą mogę wywołać, konfiguracji wiosennej lub komendzie maven, która wyłącza te porady dla czegoś takiego jak wszystkie * UnitTest.java?
Dzięki za pomoc.
przykład:
mam następujący test jednostka:
@RunWith(MockitoJUnitRunner.class)
public class CompanyServiceImplTest {
@Test
public void createCampaignTest() throws Exception {
when(companyDaoMock.saveCompany(any(Campaign.class))).thenReturn(77L);
Long campaignId = companyService.createCampaign(campaignMock);
assertEquals(Long.valueOf(77L), Long.valueOf(campaignId));
}
}
i po usługi Metoda:
@Override
@Transactional
@EventJournal(type = EventType.CAMPAIGN_CREATE, owner = EventOwner.TERMINAL_USER)
public Long createCampaign(Campaign campaign) {
return companyDao.saveCompany(campaign);
}
aspekt:
@Aspect
public class EventJournalAspect {
@Autowired
private EventJournalService eventJournalService;
@Pointcut(value="execution(public * *(..))")
public void anyPublicMethod() {}
@Pointcut("within(com.terminal.service..*)")
private void inService() {}
@AfterReturning(pointcut = "anyPublicMethod() && inService() && @annotation(eventJournal) && args(entity,..)", returning = "id")
public void process(Object id, EventJournal eventJournal, AbstractDomainEntity entity)
throws Throwable {
if (eventJournal.type() != EventType.CAMPAIGN_PAYMENT || id != null) {
saveEvent(eventJournal, EventStatus.SUCCESS, entity, (Long) id);
}
}
@AfterThrowing(pointcut = "anyPublicMethod() && inService() && @annotation(eventJournal) && args(entity,..)", throwing="ex")
public void processException(EventJournal eventJournal, AbstractDomainEntity entity, Exception ex) throws Throwable {
saveEvent(eventJournal, EventStatus.FAILURE, entity, null);
}
private void saveEvent(EventJournal eventJournal, EventStatus status, AbstractDomainEntity entity, Long persistentId) {
EventType type = eventJournal.type();
EventOwner owner = eventJournal.owner();
eventJournalService.saveEvent(type, owner, EventStatus.SUCCESS, entity, persistentId);
}
}
Po wykonaniu testu - eventJournalService
ma wartość null. Tak więc widzę NullPointerException
proszę podać przykład – gstackoverflow
Dodałem szczegóły do pierwotnego postu. – gstackoverflow
Jak możesz dodać szczegóły do pytania, które nie są oryginalnym plakatem? – kriegaex