由于项目中用到了 list.contains() ,所以写单元测试时,用到了 List<String> typeAll = Mockito.mock(List.class); 然后一直尝试怎么add值,结果一直没写出来,然后请教后结果发现应该如下写:
 private List<String> getTypeAll2(){
		List<String> typeAll = Mockito.mock(List.class);
		Mockito.when(typeAll.contains("1")).thenReturn(true);  //当list包含"1"是,返回  true,一下照推
		Mockito.when(typeAll.contains("2")).thenReturn(true);  
		Mockito.when(typeAll.contains("3")).thenReturn(true);  
		Mockito.when(typeAll.contains("4")).thenReturn(true);  
		Mockito.when(typeAll.contains("5")).thenReturn(false); 
		return typeAll;
	}
由此想到,mock 出来的 list 对象应该并不存在实际的值,只是在你运行到 list.contains() 时 ,直接返回了 thenReturn 的值,mock 出来的 list 对象 仍是空的。
原文:http://www.cnblogs.com/methinkjj/p/6491912.html