`
anreddy
  • 浏览: 99855 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

junit---用mock object进行隔离测试(下)

 
阅读更多

mock objects的使用范围
     实际的对象有不确定的行为。
     实际对象很难建立
     实际对象有很难才能产生的行为(比如一个网络错误)
     实际对象很迟钝。
     实际对象有一个或者是一个UI
总结:
   这一章描述了一个叫mock objects的技术,他可以让我们从其他域对象或者环境中隔离出来进行单元测试。当写一个好的单元测试的时候,最大的障碍就是把自己从执行环境中抽象出来。我们经常听到这样的抱怨”我没有测试这个方法就是因为我很难模拟真实环境“。hoho,现在可能不会了。
   在大多数情况下,写mock-object 测试有个好的副作用:他迫使你来重写一些代码。实际上,代码常常写的不好。你让类和环境之间产生了不必要的耦合。由于mock objects,你必须和以前不一样的思考并且应用更好的设计模式,比如接口和控制反转(IOC)
     MOCK OBJECTS应该不仅仅当成一个单元测试技术而且当成一种设计技术。方法论中一个冉冉升起的新星叫做“Test-Driven”,他的支持者先写测试后写代码。有了TDD,你不需要重构你的代码来适应测试:代码已经在测试之中。
   尽管写mock objects很容易,然而当你需要模拟成千上万的对象的时候他能变得烦人,在以下的章节里,我们将要展现许多开源的框架,这些框架能够为你的类自动产生ready-to-use mocks,使得采用mock-objects策略变得十分愉快。
   在以下的章节中,将会介绍Cactus,随后是一些j2ee的测试案例,包括servlet,filter,jsp,taglibs,database和ejb.
分享到:
评论

相关推荐

    基于软件测试的ATM服务机

    Mock Object是一种在单元测试中模拟真实对象的行为和交互的技术,它允许测试人员控制对象间的依赖关系,从而在隔离环境中测试单个组件。这样可以避免复杂的真实系统依赖,提高测试的效率和准确性。 首先,Eclipse是...

    Junit + Hamcrest + Mockito 单元测试 Jar包

    Hamcrest是一个匹配器库,与JUnit等测试框架结合使用,提供了一种声明式的方式来编写断言。它的优势在于其表达性强,使得测试代码更加可读。例如,你可以使用`assertThat(result, is(equalTo(expected)))`来验证结果...

    Mockito-and-Junit:Java Mock deafferents方法的示例存储库

    使用 Mockito 和 JUnit 进行单元测试,是遵循测试驱动开发原则的良好实践。先编写测试,再编写实现,有助于保证代码质量,减少缺陷,同时也有助于设计更好的 API。 10. **持续集成(CI)**: 将这些测试集成到...

    Junit In Action 学习笔记----下载不扣分,回帖加1分,童叟无欺,欢迎下载

    阅读指引: 第一部分:Junit精粹 第1章:带着你为一个简单的对象创建测试。在此过程中介绍了单元测试的好处,... 第7章:展示了Mock object方法,这是一种让你可以把代码从周围领域对象隔离出来的测试的方法。 ......

    GMock——groovy下的mock工具

    5. **验证行为**:最后,使用 `verify()` 方法检查 mock 对象的调用是否符合预期,如:`verify(mockObject).someMethod()`。 ### 相关工具比较 GMock 在 Groovy 中与其他模拟工具如 JUnit、EasyMock 和 JMock 有...

    junit-training

    通过以上内容,你将具备使用JUnit进行单元测试的基础能力,能够编写、运行和调试测试用例,有效保障代码的质量和稳定性。深入实践,结合实际项目,你将更加熟练地运用JUnit解决各种测试挑战,成为单元测试的高手。

    内部培训资料,Maven和Junit培训资料

    本培训资料将引导你深入理解Maven的项目管理机制,掌握JUnit的测试方法,以及如何使用Mock工具进行单元测试。通过学习这些内容,你将能更高效地进行Java开发,提高代码质量,并为团队合作打下坚实基础。

    easier-mock-1.0.zip

    在软件开发过程中,单元测试是确保代码质量的重要环节,而模拟对象(Mock Object)在单元测试中扮演着至关重要的角色。EasyMock是一款广泛使用的Java模拟框架,它允许开发者创建和控制模拟对象,以便在测试中隔离被...

    Java自动化测试-Test.rar

    Java自动化测试是软件开发过程中的一个重要环节,它利用专门的工具和框架,通过编写可执行的代码来替代手动进行重复性的测试任务,提高测试效率,减少人为错误,并且能够更好地集成到持续集成/持续部署(CI/CD)流程...

    单元测试

    这通常需要使用依赖注入(Dependency Injection)技术,使测试时可以替换掉真实的依赖,用模拟对象(Mock Object)或存根(Stub)来控制它们的行为。 4. 断言:断言是测试用例的核心,它用来检查被测试代码的结果...

    单元测试一条龙

    根据给定的信息,本文将详细解析“单元测试一条龙”文档中的关键知识点,涵盖Java基本概念、Junit单元测试、Feed4Junit参数化扩展、JUnitPerf单元性能测试以及使用SeleniumJunit进行自动化测试等内容。 ### 面向...

    jmock-2.6.0-RC2-jars.rar

    在实际项目中,jMock常与其他测试框架如JUnit或TestNG结合使用,形成一套完整的测试解决方案。例如,可以使用jMock定义模拟对象的期望,然后在JUnit的测试方法中执行这些期望并验证结果。 总结来说,jMock 2.6.0-...

    JUnitAndMockitoExample:关于JUnit和Mockito的文章的最终代码

    通过这样的例子,开发者可以学习如何有效地组织测试代码,如何使用Mockito来模拟复杂的依赖关系,以及如何利用JUnit进行测试驱动开发。理解并熟练掌握JUnit和Mockito,不仅有助于提高代码质量,还能使开发过程更加...

    JUNIT4.X學習筆記(1)

    JUnit4提供了`Mockito`库支持,通过`@Mock`和`@InjectMocks`注解,我们可以创建并注入模拟对象,以确保测试只关注被测代码的行为,而不是依赖的外部组件。 总结来说,JUnit4.x以其简洁、易用的特点,成为了Java单元...

    java 测试自我学习

    它可以与JUnit或TestNG结合使用,进行功能测试和端到端测试。 8. 持续集成/持续部署(CI/CD):持续集成工具如Jenkins、GitLab CI/CD可以帮助自动化测试流程,每次代码提交后自动触发构建和测试,确保代码质量。 9. ...

    Dom4j junit等等自用的 上传备份一下

    7. **Mock对象**:JUnit可以与其他mocking框架如Mockito结合,用于模拟协作对象,隔离被测试代码。 8. **测试监听器**:JUnit允许添加测试监听器,扩展测试过程,如报告生成、性能度量等。 在“jar”标签下,我们...

    AndroidTest

    在实际测试中,常常会遇到需要模拟对象(mock object)的情况,以隔离被测试代码和其他依赖。这就引出了`Mockito`,一个流行的Java模拟框架。Mockito允许开发者创建和配置模拟对象,以便在测试中替代真实的依赖。...

    pls-wodm_autotest.rar

    2. Mockito:在进行单元测试时,常常需要模拟(mock)外部依赖,以便专注于测试目标代码的行为。Mockito是一个强大的模拟库,可以创建并配置模拟对象,帮助我们隔离测试。在PLS-WODM的测试中,Mockito可能会被用来...

Global site tag (gtag.js) - Google Analytics