结构化我们测试Case
这里有一个简单的策略来让我们的JUnit测试变得易读,并且不会有任何的副作用。
怎么做呢,划分下我们的测试,利用简单的注释将我们的测试分为三个部分,准备,执行,和校验。
准备数据-》Given
这个部分,创建我们Mock的函数的返回值,或者我们将要测试方法的输入参数。此外,mock的方法也会在这个部分中准备。通常单元测试Case中,这个部分应该是最长,也是最复杂的。
注意:Mockito的when声明其实是given部分的,这点需要说明下,因为的确容易困惑。但,这与测试执行的准备工作有关,因此,放在这里最为合适。
执行-》When
这里一般只Call测试方法,这里标明了测试目的,因为这个部分的代码一般是最短的了。
验证-》Then
这个部分,执行环节的所有结果在这里得以声明。除此之外,也可以确认方法是否被执行。总之,主要的点,在这里进行Check。
网友评论