Tengo dos clases de prueba, MyFirstTest y MySecondTest. Ejecutar cada uno independientemente funciona bien. Cuando ejecuto ambos (en eclipse, selecciono la carpeta de prueba que contiene estos archivos, hago clic con el botón derecho, me muevo como junit), MySecondTest falla porque MyClass todavía se burla cuando ejecuta sus 'pruebas. MyFirstTest requiere que MyClass sea burlado. MySecondTest requiere que MyClass no se burle. Pensé que se suponía que TearDownMocks 'demock' las clases.MyClass se burla entre dos pruebas
public class MyFirstTest {
@Before
public void setUp() throws Exception {
Mockit.setUpMocks(MockMyClass.class);
}
@After
public void tearDown() throws Exception {
Mockit.tearDownMocks(MockMyClass.class);
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
Mockit.tearDownMocks(MockMyClass.class);
}
@MockClass(realClass = MyClass.class, stubs = "<clinit>")
public static class MockMyClass {
...
public class MySecondTest {
'Bueno, encontré que agregar Mockit.tearDownMocks(); a MySecondTest clases setUp (que está anotado con el método Before), reinicia simulacros para que no use el simulacro de la clase anterior. No estoy seguro de por qué las invocaciones de Mockit.tearDownMocks (MockMyClass.class) desde dentro de los métodos anotados con After y AfterClass se están cayendo ... ' – user1346730