Mockitoユニットのテスト例
Mockitoユニットのテスト例:
public class SettingServiceTest {
private List<PersonDTO> personList = new ArrayList<PersonDTO>();
@InjectMocks
private SettingPojoService settingPojoService;
@Mock
private SettingDAO mockSettingDAO;
@BeforeClass
public static void prepareData() throws Exception {
}
@AfterClass
public static void destoryData() throws Exception {
}
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
PersonDTO personDTO1 = new PersonDTO();
PersonDTO personDTO2 = new PersonDTO();
PersonDTO personDTO3 = new PersonDTO();
personDTO1.setDeptCode("BCDEF");
personDTO1.setHanderCode("BIJIAN001");
personDTO2.setDeptCode("HIJKL");
personDTO2.setHanderCode("BIJIAN002");
personDTO3.setDeptCode("OPQRS");
personDTO3.setHanderCode("BIJIAN003");
personList.add(personDTO1);
personList.add(personDTO2);
personList.add(personDTO3);
}
@After
public void tearDown() throws Exception {
}
@Test
public void test_queryHandlerCode_by_mock() {
String departmentCode = "ABC";
try {
when(mockSettingDAO.queryHandlerCode(departmentCode)).thenReturn("BIJIAN");
String code = settingPojoService.queryHandlerCode(departmentCode);
verify(mockSettingDAO, times(1)).queryHandlerCode(departmentCode);
Assert.assertEquals("BIJIAN", code);
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_savePerson_noral_list_by_mock() {
try {
settingPojoService.savePerson(personList);
verify(mockSettingDAO).savePerson(personList.get(0));
verify(mockSettingDAO).savePerson(personList.get(1));
verify(mockSettingDAO).savePerson(personList.get(2));
verify(mockSettingDAO, times(1)).savePerson(personList.get(0));
verify(mockSettingDAO, times(1)).savePerson(personList.get(1));
verify(mockSettingDAO, times(1)).savePerson(personList.get(2));
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_savePerson_null_list_by_mock() {
PersonDTO personDTO1 = personList.get(0);
personList = null;
try {
settingPojoService.savePerson(personList);
verify(mockSettingDAO, times(0)).savePerson(personDTO1);
verifyZeroInteractions(mockSettingDAO);
verifyNoMoreInteractions(mockSettingDAO);
} catch (PafaDAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_savePerson_list_only_contain_1_object_by_mock() {
personList.remove(2);
PersonDTO personDTO1 = personList.remove(1);
try {
settingPojoService.savePerson(personList);
verify(mockSettingDAO, times(1)).savePerson(personList.get(0));
verify(mockSettingDAO, times(0)).savePerson(personDTO1);
verify(mockSettingDAO, never()).savePerson(personDTO1);
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_deleteHandler_noral_list_by_mock() {
try {
settingPojoService.deleteHandler(personList);
verify(mockSettingDAO).deleteHandler(personList.get(0));
verify(mockSettingDAO).deleteHandler(personList.get(1));
verify(mockSettingDAO).deleteHandler(personList.get(2));
verify(mockSettingDAO, times(1)).deleteHandler(personList.get(0));
verify(mockSettingDAO, times(1)).deleteHandler(personList.get(1));
verify(mockSettingDAO, times(1)).deleteHandler(personList.get(2));
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_deleteHandler_null_list_by_mock() {
PersonDTO personDTO1 = personList.get(0);
personList = null;
try {
settingPojoService.deleteHandler(personList);
verify(mockSettingDAO, times(0)).deleteHandler(personDTO1);
verifyZeroInteractions(mockSettingDAO);
verifyNoMoreInteractions(mockSettingDAO);
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_deleteHandler_list_only_contain_1_object_by_mock() {
personList.remove(2);
PersonDTO personDTO1 = personList.remove(1);
try {
settingPojoService.deleteHandler(personList);
verify(mockSettingDAO, times(1)).deleteHandler(personList.get(0));
verify(mockSettingDAO, times(0)).deleteHandler(personDTO1);
verify(mockSettingDAO, never()).deleteHandler(personDTO1);
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
@Test
public void test_isDepartmentHandler_by_mock() {
String code = "BIJIAN001";
String departmentCode = "ABC";
try {
when(mockSettingDAO.isDepartmentHandler(code, departmentCode)).thenReturn(true);
boolean res = settingPojoService.isDepartmentHandler(code, departmentCode);
verify(mockSettingDAO, times(1)).isDepartmentHandler(code, departmentCode);
Assert.assertEquals(true, res);
} catch (DAOException e) {
Assert.fail(e.getLocalizedMessage());
} catch (BusinessServiceException e) {
Assert.fail(e.getLocalizedMessage());
}
}
}