java - MockitoJUnitRunner está en desuso
deprecated (4)
Estoy tratando de hacer una prueba unitaria con
@InjectMocks
y
@Mock
.
@RunWith(MockitoJUnitRunner.class)
public class ProblemDefinitionTest {
@InjectMocks
ProblemDefinition problemDefinition;
@Mock
Matrix matrixMock;
@Test
public void sanityCheck() {
Assert.assertNotNull(problemDefinition);
Assert.assertNotNull(matrixMock);
}
}
Cuando no
@RunWith
anotación
@RunWith
, la prueba falla.
Pero
El tipo MockitoJUnitRunner está en desuso
Estoy usando Mockito 2.6.9. ¿Cómo debo hacer esto?
Puede probar esto, si no desea utilizar @RunWith (MockitoJUnitRunner.class)
@BeforeClass
public void setup() {
MockitoAnnotations.initMocks(this);
}
Puedes probar esto:
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
Debido a que agrega
@Before
anotación, sus objetos simulados pueden ser nuevos y grabados muchas veces, y en todas las pruebas puede darles a los objetos nuevas propiedades.
Pero, si desea un comportamiento de registro único para el objeto simulado, agregue
@BeforeCLass
También hay una opción
@Rule
:
@Rule
public MockitoRule rule = MockitoJUnit.rule();
O en Kotlin:
@get:Rule
var rule = MockitoJUnit.rule()
org.mockito.runners.MockitoJUnitRunner
ahora está de hecho en desuso, se supone que
org.mockito.junit.MockitoJUnitRunner
usar
org.mockito.junit.MockitoJUnitRunner
en
org.mockito.junit.MockitoJUnitRunner
lugar.
Como puede ver, solo el nombre del paquete ha cambiado, el nombre simple de la clase sigue siendo
MockitoJUnitRunner
.
Extracto del javadoc de
org.mockito.runners.MockitoJUnitRunner
:
Movido a org.mockito.junit.MockitoJUnitRunner , esta clase se eliminará con Mockito 3