
本文共 5144 字,大约阅读时间需要 17 分钟。
Mockito������
Mock������������
1.1 Mockito������
Mockito���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Mockito���������������������������������������������������������������������������������Mockito������������������������������������������������������������������������������������������������������������������
1.2 Mockito������������
���������������������Mockito���������������������������������������������������������Maven������������������������
org.mockito mockito-core 2.7.19 test
Mockito���������������������������������Bintray���Maven Central Repository��������� Maven������������������������������������������������������������������������Mockito 2.0���������������������������mockito-all
������������������mockito-core
���������
1.3 ���������������������
Mockito������������������������������������������������������������������
mock(Class classToMock);mock(Class classToMock, String name);mock(Class classToMock, Answer defaultAnswer);mock(Class classToMock, MockSettings mockSettings);mock(Class classToMock, ReturnValues returnValues);
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
1.4 ������������������������������������
���������������������������������������������������������������������������������������������
when(mockedList.clear()).thenReturn(null);
���������thenReturn
������������������������������������������������������������������������������doThrow
������������������
doThrow(new RuntimeException("oose������")).when(mockedList).clear();
���������������doAnswer
���������������������������������������������������Answer������������������������������������������������������������������������������������
1.5 ������������������������
Mock ������������������������������������������������������������������������������verify
���������������������������������������������������������������������������������������������������
verify(mock, times(1)).getPerson(1);verify(mockDao, times(1)).update(isA(Person.class));
������������������������������������������������������������������������������������������������������
1.6 Demo
������������������������Mockito���������������������������������������������������������������������
- Person������������������������������������������������������������������
- PersonDao������������������Person������������������������������
- PersonService������������PersonDao���������������������������������
������������������������������Junit������������������������������������������������������������������������������
public class PersonServiceTest { private PersonDao mockDao; private PersonService personService; @Before public void setUp() throws Exception { mockDao = mock(PersonDao.class); when(mockDao.getPerson(1)).thenReturn(new Person(1, "Person1")); when(mockDao.update(isA(Person.class))).thenReturn(true); personService = new PersonService(mockDao); } @Test public void testUpdate() throws Exception { boolean result = personService.update(1, "new name"); assertTrue(result); verify(mockDao, times(1)).getPerson(1); verify(mockDao, times(1)).update(isA(Person.class)); } @Test public void testUpdateNotFind() throws Exception { boolean result = personService.update(2, "new name"); assertFalse(result); verify(mockDao, times(1)).getPerson(1); verify(mockDao, never()).update(isA(Person.class)); }}
������Junit������������������������������������������������������������������������������������id���1���Person������������PersonDao���getPerson���������������������������Person������������update���������������true���
2 ������������������������
������������������������������������������������������������������������JaCoCo������������������������������������������������������������������������������������������������������������������������������������JaCoCo���������������������������������������������
���������������������������������
- Junit���������������������������
- JaCoCo���������������������������
- EclEmma������������������������Java���������
������������ ����age������������������������������������������������������������������������������������������������������������JaCoCo���������������������������������������������������������IDE���������
���������������������������������
���Eclipse���������������Coverage������ ������������������������������������������������������������������
������������������HTML���������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
