java mockito deprecated

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()