MyClass stays ridiculed between two tests

I have two test classes: MyFirstTest and MySecondTest. The work of each of them works great. When I run both (in eclipse, select the test folder containing these files, right-click, run as junit), MySecondTest will fail because MyClass is still mocking when it runs its “tests”. MyFirstTest requires MyClass to taunt. MySecondTest requires that MyClass not be taunted. I thought tearDownMocks was supposed to “dismantle” classes.

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 {
+5
source share
2 answers

The method Mockit.tearDownMocks()accepts valid classes, not mocks. So the correct code is:

Mockit.tearDownMocks(MyClass.class);
+3
source

, : . , , , - .

MockUp<PmRequestData> mockpmreq = new MockUp<PmRequestData>() {
        @Mock
        public Map<String, KPIData> getKpiDataMap() {
            return datamap;
            }
        };
mockpmreq.tearDown();
+1

All Articles