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()); } } }
相关推荐
mickito实例:在实际项目中写单元测试的过程中我们会发现需要测试的类有很多依赖,这些依赖项又会有依赖,导致在单元测试代码里几乎无法完成构建,尤其是当依赖项尚未构建完成时会导致单元测试无法进行。为了解决这...
先来看看下面这个示例:从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例。 一种替代方案就是使用mocks从图中可以清晰的看出mock对象就是在调试期间用来作为真实对象的替代...
本文是一系列发表在我的个人博客,关于安卓单元测试的文章的实例代码。 代码与文章的对应关系如下: Android单元测试: 首先,从是什么开始 代码和测试代码都在what子package下面 Android单元测试(三):JUnit单元测试...
#README ##这是一个关于使用Mock来进行单元测试构建的实例 原文的地址: 翻译后:
第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。 第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、...
16.7.1 对LoginController进行单元测试 16.7.2 使用Spring Servlet API模拟对象 16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体...
16.7.1 对LoginController进行单元测试 16.7.2 使用Spring Servlet API模拟对象 16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体...
第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。 第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、...
本文介绍和对比了TestNG和junit框架,并举出实例说明。 同时讲解了Mockito和Dbunit框架的使用