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.
分享到:
相关推荐
赠送jar包:junit-4.13.2.jar; 赠送原API文档:junit-4.13.2-javadoc.jar; 赠送源代码:junit-4.13.2-sources.jar; 赠送Maven依赖信息文件:junit-4.13.2.pom; 包含翻译后的API文档:junit-4.13.2-javadoc-API...
赠送jar包:junit-jupiter-api-5.7.2.jar; 赠送原API文档:junit-jupiter-api-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.7.2.pom; ...
赠送jar包:junit-jupiter-api-5.8.2.jar; 赠送原API文档:junit-jupiter-api-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.2.pom; ...
赠送jar包:junit-jupiter-api-5.4.2.jar; 赠送原API文档:junit-jupiter-api-5.4.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.4.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.4.2.pom; ...
JUnit5相关的 JUnit Jupiter.jar依赖包,主要包含: junit-jupiter-5.5.1.jar,junit-jupiter-api-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-jupiter-api-5.4.2.jar,...
赠送jar包:junit-jupiter-engine-5.8.2.jar; 赠送原API文档:junit-jupiter-engine-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-engine-...
赠送jar包:junit-4.12.jar; 赠送原API文档:junit-4.12-javadoc.jar; 赠送源代码:junit-4.12-sources.jar; 包含翻译后的API文档:junit-4.12-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:...
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
赠送jar包:junit-jupiter-params-5.7.2.jar; 赠送原API文档:junit-jupiter-params-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...
junit-platform-launcher-1.7.0.jarjunit-platform-launcher-1.7.0.jar
赠送jar包:junit-jupiter-api-5.5.2.jar; 赠送原API文档:junit-jupiter-api-5.5.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.5.2.pom; ...
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
赠送jar包:junit-platform-commons-1.8.2.jar; 赠送原API文档:junit-platform-commons-1.8.2-javadoc.jar; 赠送源代码:junit-platform-commons-1.8.2-sources.jar; 赠送Maven依赖信息文件:junit-platform-...
junit4 jar包下载,内包含junit-4.12.jar、junit-4.11.jar、junit-4.8.2.jar、junit-4.7.jar
junit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jar
赠送jar包:junit-jupiter-api-5.8.0-M1.jar; 赠送原API文档:junit-jupiter-api-5.8.0-M1-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.0-...
赠送jar包:junit-jupiter-engine-5.4.2.jar; 赠送原API文档:junit-jupiter-engine-5.4.2-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.4.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-engine-...
赠送jar包:junit-platform-launcher-1.6.1.jar; 赠送原API文档:junit-platform-launcher-1.6.1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.6.1-sources.jar; 赠送Maven依赖信息文件:junit-platform-...
赠送jar包:junit-vintage-engine-5.5.2.jar; 赠送原API文档:junit-vintage-engine-5.5.2-javadoc.jar; 赠送源代码:junit-vintage-engine-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-vintage-engine-...
赠送jar包:junit-jupiter-params-5.5.2.jar; 赠送原API文档:junit-jupiter-params-5.5.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...