`
wuhua
  • 浏览: 2110466 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

单元测试之实践三 Service的测试

阅读更多
测试Service,因为Service依赖的Dao, 所以只需Mock一个Dao即可。在这里我详细的介绍关于注册这个功能的测试
java 代码
 
  1. public interface IAccountService extends IBaseService {  
  2.       Account findAccountById(String id);  
  3.       Account findAccounByName(String name);  
  4.       void regist(Account account) throws ObjectExistsException;  
  5. }  
   注册功能的实现。
java 代码
 
  1. public void regist(Account account) throws ObjectExistsException {  
  2.     if(accountDao.findAccounByName(account.getName()) != null)  
  3.         throw new ObjectExistsException("User's name is exists!");  
  4.       
  5.     accountDao.save(account);  
  6. }  

测试代码
java 代码
 
  1.     protected void setUp() throws Exception {  
  2.         control = MockControl.createControl(IAccountDao.class);  
  3.         accountDao = (IAccountDao) control.getMock();  
  4.         as = new AccountService();  
  5.         as.setAccountDao(accountDao);  
  6.     }  
  7.   
  8.   
  9. public void testFindAccountByName() {  
  10.         String name = "wuhua";  
  11.         accountDao.findAccounByName(name);  
  12.         Account a = new Account("wuhua");  
  13.         a.setId(name);  
  14.         control.setReturnValue(a);  
  15.         control.replay();  
  16.         Account at = as.findAccounByName(name);  
  17.         Assert.assertEquals(name, at.getId());  
  18.         Assert.assertEquals(a, at);  
  19.         control.verify();  
  20.     }  

首先我们建立一个关键字查询,name="wuhua";
然后调用Dao的方法,
然后自定义返回一个自己预期的对象,
最后通过比较这个对象判断结果是否是自己想要的
分享到:
评论

相关推荐

    Junit 单元测试完整案例

    四、测试实践 在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,...

    Android-节省时间并在Android上清除您的单元测试

    使用这些工具,开发者可以创建针对应用程序特定组件(如Activity、Service或BroadcastReceiver)的测试。 为了更好地组织和管理测试,你可以创建一个单独的测试源集,例如`src/androidTest/java`,这样可以与主要的...

    Android单元测试Demo

    本Demo旨在提供一个基础的Android单元测试实践,通过实例化和运行测试用例,确保应用程序的各个组件(如Activity、Service、BroadcastReceiver等)在独立环境中正确执行。 单元测试通常使用JUnit框架进行,这是Java...

    SpringBoot 多模块Dao层单元测试

    在Spring Boot应用中,开发人员经常需要对各个模块进行单元测试以确保代码的质量和功能的正确性。在大型项目中,通常会采用多模块结构来组织代码,这使得项目的可维护性和可扩展性更强。本篇文章将重点讲解如何在...

    hibernate 单元测试批处理代码

    总结,这个项目涉及了使用Hibernate进行单元测试的关键技术和实践,包括配置测试环境、创建和管理测试数据、实施批处理操作以及进行有效的测试验证。理解并掌握这些内容,对于开发高效、健壮的Java应用程序至关重要...

    android 单元测试

    在进行单元测试时,应遵循一些最佳实践,例如: - 尽可能覆盖所有可能的代码路径。 - 测试应独立于其他测试,避免依赖外部状态。 - 使用模拟对象(Mocks)来隔离被测试代码,减少外部依赖的影响。 - 对于复杂的逻辑...

    SSH单元测试代码整理

    通过以上描述,我们可以看到SSH框架下的单元测试涉及到多方面的技术和实践,包括对Spring、Struts和Hibernate的理解,以及单元测试的原理和技巧。这两份代码文件为学习和实践这些知识提供了一个很好的起点。

    SSM整合实现分页以及单元测试代码

    SSM整合指的是Spring、SpringMVC和MyBatis三个开源框架的集成,这在Java Web开发中是非常常见的一种架构模式。下面将详细讲解SSM整合的实现过程,以及如何在这个基础上实现分页功能和进行单元测试。 首先,SSM整合...

    spring+jpa+全局异常+单元测试

    综上所述,"spring+jpa+全局异常+单元测试"这个主题涵盖了Java后端开发中的核心技术和最佳实践。通过有效地整合这些技术,我们可以构建出健壮、易于维护的业务系统,并通过严格的测试确保其质量。

    Android 单元测试资料

    而"Android单元测试.docx"可能详细介绍了如何进行更高级的测试实践,例如: 1. ** Espresso UI测试**:对于涉及用户界面的测试,Espresso提供了一个强大的API,用于点击视图、验证屏幕状态和模拟用户交互。 2. **...

    Xunit单元测试

    在软件开发过程中,单元测试是确保代码质量的重要环节。Xunit是一个流行的、开源的.NET单元测试框架,它提供了丰富的功能和灵活性,使得测试工作更加高效和便捷。本篇将深入探讨Xunit的基本概念、特性以及如何结合...

    J2EE企业级应用测试实践

    《J2EE企业级应用测试实践》这本书深入探讨了在这个复杂环境中进行有效测试的策略和技术。通过源代码的实践学习,读者可以更好地理解和掌握测试过程。 测试在J2EE应用程序的生命周期中扮演着核心角色,确保系统的...

    mybatis项目源码及单元测试

    通过对 Mybatis-Demo 的源码分析和单元测试实践,我们可以深入了解 MyBatis 的工作机制,提升我们的编程和测试技能。在实际开发中,理解并掌握这些知识点将有助于我们写出更加高效、稳定的代码。

    android单元测试

    在Android开发过程中,单元测试是确保代码质量与可...通过掌握这些技术,开发者可以构建出更加健壮、可靠的Android应用,并且随着持续集成和持续交付(CI/CD)的实践,单元测试也能成为提高开发效率和质量的有效手段。

    单元测试实践小结[5]

    单元测试实践小结[5] 软件测试 7.XML:XMLUnit 8.J2EE:MockRunner 9.GUI:JFCUnit,Marathor 10.Other:JTestCase(采用XML定义测试过程) 分层架构下的单元测试 1Web层的单元测试 主要测试Controller的数据结构化...

    android单元测试和UI测试示例代码

    1. 单元测试目录:这通常包括一个或多个Java类,每个类对应于被测试的Android组件(如Activity、Service、Fragment等)。测试类通常以".Test"或"_Test"为后缀,里面包含了JUnit注解的测试方法。 2. Espresso UI测试...

    C#单元测试完全指南:构建可靠的代码基石

    ### C#单元测试完全指南:构建可靠的代码基石 ...总之,通过遵循上述指南和最佳实践,您可以有效地利用C#中的单元测试来构建高质量的软件产品。这不仅有助于提高代码的质量,还能降低维护成本并加速产品的发布周期。

    (Idea)Spring+MyBatis配置及单元测试

    这个过程涉及到Java开发中的核心概念,包括依赖管理、配置文件的设置、数据库交互以及测试实践。 首先,我们需要创建一个新的Maven项目。在Idea中,选择“New Project”,然后选择“Maven”,确保勾选了“Create ...

Global site tag (gtag.js) - Google Analytics