您的位置:首页 > 其它

Mock学习

2015-09-01 19:24 363 查看
对于一个比较大型的项目,一个功能点的测试可能需要很多外部依赖。如果真的去创建外部依赖,开销很大而且很不灵活。

Mock框架就是为了解决这个问题而诞生的。

参考

参考

参考

///maven 依赖
<dependencies>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.5</version>
<scope>test</scope>
</dependency>
</dependencies>


public class Test{
// 模拟获取第一个元素时,返回字符串first
when(mockedList.get( 0 )).thenReturn( "first" );

// 此时打印输出first
System.out.println(mockedList.get( 0 ));
// 模拟获取第二个元素时,抛出RuntimeException
when(mockedList.get( 1 )).thenThrow( new  RuntimeException());

// 此时将会抛出RuntimeException
System.out.println(mockedList.get( 1 ));
doThrow( new  RuntimeException()).when(mockedList).clear();
// anyInt()匹配任何int参数,这意味着参数为任意值,其返回值均是element
when(mockedList.get(anyInt())).thenReturn( "element" );

// 此时打印是element
System.out.println(mockedList.get( 999 ));
// 调用add一次  验证方法调用次数
mockedList.add("once");

// 下面两个写法验证效果一样,均验证add方法是否被调用了一次
verify(mockedList).add("once");
verify(mockedList, times(1)).add("once");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: