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
¿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?
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 claseAssertions
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 anotacionesMockito
yMock
, y de que la versión adecuada de Mockito esté incluida en el archivo POM.