JUnit源码解析(6)

发表于:2016-10-04来源:saymagic作者:saymagic点击数: 标签:junit
} 子类需要实现evalSubstringOf方法。如此,我们就可以看下StringContains的这个方法了: @Override protected boolean evalSubstringOf(String s) { return s.indexOf(substring) = 0; }
}
子类需要实现evalSubstringOf方法。如此,我们就可以看下StringContains的这个方法了:
 
 @Override
 protected boolean evalSubstringOf(String s) {
     return s.indexOf(substring) >= 0;
 }
出奇的简单,并没有什么好解释的。这个如果返回了false,说明验证不通过,前面的assertThat方法就会抛出异常。这样,JUnit的一个测试就不会通过。
 
assert翻译过来为断言,也就是说,它是用来验证是非的,但我们也清楚,并非所有的事情都分是非,测试也如此,比如我们要测试登录模块,当点击login按钮的时候,可能验证通过后就跳转了页面,并没有任何返回值,这个时候我们往往会验证某个事情发生了,比如login后执行了跳转方法,这样就表示测试是通过的。这就是Mock框架来做的是。感兴趣的可以查看我的上一篇文章Mockito源码解析
 
总结
 
读懂JUnit的源码并不是很困难,我相信这与整体架构设计得当有关,使人读起来神清气爽。 此文也仅仅是对JUnit的源码粗略概括,更多的细节还有待大家仔细琢磨。
 
就是这样,大家国庆节快乐,我要为祖国妈妈庆生了。

原文转自:http://blog.saymagic.cn/2016/09/30/understand-Junit.html

...