No puedo objeto @Spy en Pepino pruebas de la primavera de arranque en dos pasos Definiciones

Antonio682 :

Estoy teniendo un problema al ejecutar la prueba de pepino con la primavera de arranque 2.

Tengo dos definiciones pasos y en ambas clases Trato de espiar un objeto con Mockito tratando de capturar el argumento pasado a un método de esta clase.

El punto es que desde pepino sólo permite un contexto de aplicación de configuración de la primavera que he creado una clase abstracta para configurarlo y no tengo uno prolongado de la definición pasos con esta clase.

@ActiveProfiles("INTEGRATION_TEST")
@SpringBootTest
@ContextConfiguration(classes = ServiceApplication.class)
@TestPropertySource(properties = 
      {"spring.config.location=classpath:application-test.yml"})
public abstract class BaseTestIntegration {}


@Ignore
public class OfferEventsGenerationStep extends BaseTestIntegration {

@Autowired private LoanOfferBatchController loanOfferBatchController;
@SpyBean private SendEventOfferServiceImpl sendEventService;
@Captor private ArgumentCaptor<CreateOfferToUserEvent> createOfferEventCaptor;
@Autowired private GenericWebApplicationContext context;
.........
 @Then("^events will be created$")
public void eventsWillBeCreated() throws Throwable {
    Mockito.verify(sendEventService, Mockito.times(5)).sendEvent(createOfferEventCaptor.capture());
 }
}


@Ignore
public class SecondEventsGenerationStep  {

@Autowired private LoanOfferBatchController loanOfferBatchController;
@SpyBean private SendEventSencondServiceImpl sendEventService;
@Captor private ArgumentCaptor<CreateOfferToUserEvent> createOfferEventCaptor;
@Autowired private GenericWebApplicationContext context;
.........
 @Then("^events will be created$")
public void eventsWillBeCreated() throws Throwable {
    Mockito.verify(sendEventService, Mockito.times(2)).sendEvent(createOfferEventCaptor.capture());
 }
}

Y todo funciona bien, excepto que sendEventService solamente es reconocido como un grano de espionaje en la clase que amplía la clase BaseTestIntegration el otro lanza esta excepción:

 org.mockito.exceptions.misusing.NotAMockException: 
 Argument passed to verify() is of type SendEventSencondServiceImpl and is not a mock!
mpkorstanje:

Actualmente, no es posible el uso @MockBeano @SpyBeanporque cucumber-springlas definiciones vueltas pasos en los granos y no utiliza el TestContextManager. Hay un problema con la ayuda de pepino @MockBean-primavera # 1470 . Es en juego si alguien quiere tomar.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=211316&siteId=1
Recomendado
Clasificación