我是新来的Android的测试,并已决定通过实例的Mockito从http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#3参数匹配不验证参数
工作要充分认识发生了什么事情开始,我已经决定从分支出来例如,这是我的代码:
@Test
public void testMatchers() throws Exception
{
LinkedList <String> mockedList = mock (LinkedList.class);
when (mockedList.contains(argThat(isValidStr()))).thenReturn(true);
System.out.println(mockedList.contains("Asdf")); // prints 'true', as expected
System.out.println(mockedList.contains("asdf")); // prints 'true' which I guess makes sense... but shouldn't the argument matcher complain somehow?
}
public static ArgumentMatcher<String> isValidStr()
{
return new ArgumentMatcher<String>()
{
@Override
public boolean matches (Object argument)
{
String str = (String) argument;
return (str.charAt(0) > 'A' || str.charAt(0) < 'Z') // if first letter is capitalized
}
}
}
所有测试都通过,有0个例外/错误。另外,我在“匹配”功能的开始处放置了一个断点,并且它永远不会被击中。
3个问题: 1)为什么我的参数匹配器不抱怨错误的争论?
2)检测到错误的参数后,预期的输出是多少? 3)代码如何看起来像检测一个不合适的参数?