如果要评选JUnit中最最重要的类型,或者说核心,无疑是org.junit.runners.model.Statement。Runner等类型看起来热闹而已。
package org.junit.runners.model; /** * Represents one or more actions to be taken at runtime in the course * of running a JUnit test suite. */ public abstract class Statement { /** * Run the action, throwing a {@code Throwable} if anything goes wrong. */ public abstract void evaluate() throws Throwable; }Statement是命令模式中的Command、装饰模式中的Component。它是Rule发挥作用的关键。
写完JUnit4.8.2源代码分析-5.1 Statement之复合命令之后,yqj2065就对JUnit的源代码的研读缺乏激情鸟。JUnit4.10的源代码在此BlockJUnit4ClassRunner没有明显的变化。
读完最精致的设计,其他还有什么好玩的呢?可能就是并行。但是并行是一种Java技术,和反射、注解、泛型一样的技术问题。不是精致的设计。准备花点时间好好写点Statement的东西补充本文,先挖坑。JUnit4.8.2源代码分析-5Statement JUnit之Rule的使用先凑活着看。
原文地址:http://blog.csdn.net/yqj2065/article/details/40287877