package org.test4j.module.jmockit; import java.util.Arrays; import java.util.Collection; import mockit.Mock; import mockit.Mocked; import org.junit.Test; import org.test4j.junit.Test4J; import org.test4j.module.core.utility.MessageHelper; import org.test4j.module.jmockit.demo1.ResourceManager; import org.test4j.module.jmockit.demo1.ResourceManagerImpl; import org.test4j.module.spring.annotations.SpringBeanByName; import org.test4j.module.spring.annotations.SpringContext; @SpringContext("org/test4j/fortest/spring/resourceManager.xml") public class ResourceManagerImplTest extends Test4J { @SpringBeanByName ResourceManager resourceManager; @Mocked ResourceManagerImpl mockResourceManager; @Test public void mockInitTest() { new Expectations() { { resourceManager.getResList("res1"); times = 1; returns(Arrays.asList("", "", "")); resourceManager.getResList("res2"); times = 1; minTimes = 0; maxTimes = 4; returns(Arrays.asList("", "", "")); } }; Collection<?> coll = resourceManager.getResList("res1"); want.collection(coll).notNull().sizeEq(3); new MockResourceManager(); resourceManager.init(); want.bool(beenInited).isEqualTo(true); Collection<?> coll2 = resourceManager.getResList("res1"); want.collection(coll2).notNull().sizeEq(2); } public static boolean beenInited = false; public static class MockResourceManager extends MockUp<ResourceManagerImpl> { @Mock public void init() { MessageHelper.info("mock resource manager init"); beenInited = true; } @Mock public Collection<?> getResList(String resName) { return Arrays.asList("", ""); } } }