testResult 观察者中的主题目标类.
当它发生变化的时候,它会通知所以的观察者.
使它们能够及时得到通知.
testListenerTextImpl 具体监听者.
TestSuite 相当于组合模式中的树枝.树枝把树枝和树叶结合起来.主要的还是具体实现功能操作的还是树叶.
也就是TestCase.
suite.run(result);命令模式.
Junit的底层代码主要由观察者模式,命令模式,组合模式,模板模式来实现的。
观察者模式:
在Junit里面,提供了一个观察者接口:TestListener。这个接口把一系列的测试过程的信息传递给观察者的操作,它的子类接受这些信息,并用它们自己的方式显示给用户。而被观察者就是TestResult对象。
这个对象有增加观察者的方法。Junit是把错误信息或异常信息放在一个List里面的,通过循环来遍历观察者的列表,并调用相应的更新方法,然后显示在我们页面上。
命令模式:
在Junit里面,Test接口是命令模式的接口。而TestCase和TestSuite是具体的命令。有了这个命令模式,我们不用去判断测试的类型,我们直接调用测试就行了。如果要增加新的TestCase也很容易,实现Test接口即可,不会影响到其他类。很明显,TestSuite是通过组合多个TestCase的复合命令。
组合模式:
TestSuite 相当于组合模式中的树枝.树枝把树枝和树叶结合起来.主要的还是具体实现功能操作的还是树叶.
也就是TestCase.
模板模式:
TestCase中runBare中的setUp和tearDown.
初始化代码应当在每一个测试之前执行并在测试方法运行后清理。在JUnit里面就是相应的setUp和tearDown方法。如果没有这两个方法,那么我们要在每个测试方法的代码内写上一大堆重复的初始化和清理代码,这是多么愚蠢的做法。那么JUnit是怎么让setUp和tearDown在测试执行前后被调用的.
分享到:
相关推荐
# 计算机毕业设计源码,大学生校园运动会活动策划源码设计解析 这份毕业设计源码旨在为计算机专业的毕业生提供一个参考,展示如何进行软件开发并实现功能。该源码是针对大学生校园运动会活动策划而设计的,具有一定...
存储库的经验,学习设计模式,创建模型和设计模式代码生成器的面向对象设计,学习创建 JUnit 或 Cucumber 或 FlatSpec 测试,并且您将创建您的 SBT 或 Gradle 构建脚本。 完成此作业对于成功完成本课程的其余部分至...
框架开发 模式与重构 JUnit、Spring、Hive核心源码解析 第6课 听课总结 系统架构 高并发 高可用 垂直伸缩 水平伸缩 第7课 听课总结 系统架构 大型网站技术架构 维基百科、淘宝、新浪微博案例分析 第8课 听课总结 ...
该项目集成了MyBatis-Plus、Druid数据源、Junit测试以及Swagger文档,实现了前后端分离的设计模式。项目正在不断完善中,已具备基础功能框架。 文件构成: - Java源文件:11个,包含了核心业务逻辑和控制器代码。 -...
让我们在开发中以及开发后期进行测试时,直接使用Junit结合spring一起测试。 本套课程中,我们将全面剖析Spring和SpringMVC两个部分。从应用场景分析,到基本用法的入门案例,再到高级特性的分析及使用,最后是执行...
存储库的经验,学习了许多设计模式,创建了模型和设计模式代码生成器的面向对象设计,学习了创建 JUnit 或 Cucumber 或FlatSpec 测试,您创建了 SBT 或 Gradle 构建脚本,并完成了您的第一个 IntelliJ 插件! 恭喜!...
存储库的经验,学习了许多设计模式,创建了模型和设计模式代码生成器的面向对象设计,学习了创建 JUnit 或 Cucumber 或FlatSpec 测试,您创建了 SBT 或 Gradle 构建脚本,并完成了您的第一个 IntelliJ 插件! 恭喜!...
2.1.1 MVC模式的设计思想 2.1.2 MVC模式的处理过程 2.2 Model规范 2.2.1 Model1规范 2.2.2 Model2规范 2.3 使用MVC的优劣 2.3.1 使用MVC模式的好处 2.3.2 使用MVC模式的不足之处 2.4 目前市场上常见的轻量级J2EE开发...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...
13.1 用JUnit and TestNG创建测试 504 13.1.1 问题 504 13.1.2 解决方案 504 13.1.3 工作原理 504 13.2 创建单元测试和集成测试 509 13.2.1 问题 509 13.2.2 解决方案 509 13.2.3 工作原理 510 13.3...
13.1 用JUnit and TestNG创建测试 504 13.1.1 问题 504 13.1.2 解决方案 504 13.1.3 工作原理 504 13.2 创建单元测试和集成测试 509 13.2.1 问题 509 13.2.2 解决方案 509 13.2.3 工作原理 510 13.3...