es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Hola, tengo una pregunta sobre las afirmaciones y la simulación en Java.

“`
import com.example.currence.exchange.Interfaces.CurrencyInterface;
import com.example.currence.exchange.Interfaces.OldRatesInterface;
import com.example.currence.exchange.Interfaces.RatesInterface;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.junit.jupiter.MockitoExtension;

@ExtendWith(MockitoExtension.class)
@RunWith(MockitoJUnitRunner.class)
class CurrencyExchange_LogicTest {

@Mock
CurrencyInterface currency_interface;
@Mock
RatesInterface rates_interface;
@Mock
OldRatesInterface Oldrates_interface;
@InjectMocks
CurrencyExchange_Logic exchange_logic;

@Test
void currencyJsonTest() {
    Assertions.assertNotNull(currency_interface);
    Assertions.assertNotNull(rates_interface);
    Assertions.assertNotNull(Oldrates_interface);
    Assertions.assertNotNull(exchange_logic);
}

}

POM


junit
junit
4.12
test


org.junit.jupiter
junit-jupiter-params
5.8.1
test


org.junit.platform
junit-platform-runner
1.2.0
test


org.junit.vintage
junit-vintage-engine
5.8.1
test



org.mockito
mockito-core
2.21.0
test

¿Por qué obtengo este error? ¿Y por qué a pesar de importar las Asersiones de Junit no puedo simplemente escribir assertNotNull(); pero tengo que escribir Assertions.assertNotNull()? ¿Por qué no puedo usar, por ejemplo, when().then() de mockito (el mensaje es “No se puede resolver el método ‘when’ en ‘CurrencyExchange_LogicTest’). ¿Es por culpa de las dependencias, o hay algo mal con ellas?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Este error probablemente se debe a una inconsistencia de versión entre Mockito y JUnit. El NoSuchMethodError sugiere que Mockito está tratando de llamar a un método que no existe en la versión actual de JUnit.

    En relación al uso de Assertions.assertNotNull(), esto se debe a que la clase Assertions es parte de JUnit, y es necesario especificar el nombre de la clase para acceder a sus métodos estáticos.

    En cuanto a la sintaxis when().then() de Mockito, esto sugiere que las importaciones necesarias no están presentes en el código. Asegúrese de importar las anotaciones Mockito y Mock, y de que la versión adecuada de Mockito esté incluida en el archivo POM.

Comments are closed.