mockito学习
mockito学习
写一个测试用例,如果在测试类上面添加了注解@RunWith(SpringJUnit4ClassRunner.class),必须添加@ContextConfiguration("/meta/springConfigured.xml")
否则执行测试用例会报错:Caused by: java.lang.IllegalArgumentException: Cannot load an ApplicationContext with a NULL 'contextLoader'. Consider annotating your test class with @ContextConfiguration or @ContextHierarchy.
package mockitotest; import java.util.Arrays; import java.util.List; import org.junit.Test; import org.mockito.ArgumentMatcher; import static org.mockito.Mockito.*; import static org.mockito.Matchers.*; public class ArgumentMatchersTest { @SuppressWarnings("unchecked") @Test public void test() { List mock = mock(List.class); when(mock.addAll(argThat(new IsListOfTwoElements()))).thenReturn(true); mock.addAll(Arrays.asList("one", "two")); verify(mock).addAll(argThat(new IsListOfTwoElements())); } } class IsListOfTwoElements extends ArgumentMatcher<List<String>> { @SuppressWarnings("unchecked") public boolean matches(Object list) { return ((List<String>) list).size() == 2; } }
package mockitotest; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import static org.mockito.Mockito.*; import org.mockito.runners.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) public class MockitoJUnitRunnerAndMockitoAnnotationsTest { @Mock private List list; @Test public void shouldDoSomething() { list.add(100); verify(list).add(200); } }