本文整理了Java中org.mockito.Mockito.ignoreStubs()
方法的一些代码示例,展示了Mockito.ignoreStubs()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Mockito.ignoreStubs()
方法的具体详情如下:
包路径:org.mockito.Mockito
类名称:Mockito
方法名:ignoreStubs
[英]Ignores stubbed methods of given mocks for the sake of verification. Sometimes useful when coupled with verifyNoMoreInteractions()
or verification inOrder()
. Helps avoiding redundant verification of stubbed calls - typically we're not interested in verifying stubs.
Warning, ignoreStubs()
might lead to overuse of verifyNoMoreInteractions(ignoreStubs(...));
Bear in mind that Mockito does not recommend bombarding every test with verifyNoMoreInteractions()
for the reasons outlined in javadoc for Mockito#verifyNoMoreInteractions(Object...)Other words: all stubbed methods of given mocks are marked verified so that they don't get in a way during verifyNoMoreInteractions().
This method changes the input mocks! This method returns input mocks just for convenience.
Ignored stubs will also be ignored for verification inOrder, including org.mockito.InOrder#verifyNoMoreInteractions(). See the second example.
Example:
//mocking lists for the sake of the example (if you mock List in real you will burn in hell)
List mock1 = mock(List.class), mock2 = mock(List.class);
//stubbing mocks:
when(mock1.get(0)).thenReturn(10);
when(mock2.get(0)).thenReturn(20);
//using mocks by calling stubbed get(0) methods:
System.out.println(mock1.get(0)); //prints 10
System.out.println(mock2.get(0)); //prints 20
//using mocks by calling clear() methods:
mock1.clear();
mock2.clear();
//verification:
verify(mock1).clear();
verify(mock2).clear();
//verifyNoMoreInteractions() fails because get() methods were not accounted for.
try { verifyNoMoreInteractions(mock1, mock2); } catch (NoInteractionsWanted e);
//However, if we ignore stubbed methods then we can verifyNoMoreInteractions()
verifyNoMoreInteractions(ignoreStubs(mock1, mock2));
//Remember that ignoreStubs() *changes* the input mocks and returns them for convenience.
Ignoring stubs can be used with verification in order:
List list = mock(List.class);
when(mock.get(0)).thenReturn("foo");
list.add(0);
System.out.println(list.get(0)); //we don't want to verify this
list.clear();
InOrder inOrder = inOrder(ignoreStubs(list));
inOrder.verify(list).add(0);
inOrder.verify(list).clear();
inOrder.verifyNoMoreInteractions();
[中]为了验证,忽略给定模拟的存根方法。有时与verifyNoMoreInteractions()
或验证inOrder()
结合使用时很有用。有助于避免存根调用的冗余验证——通常我们对验证存根不感兴趣。
警告,ignoreStubs()
可能会导致verifyNoMoreInteractions(ignoreStubs(...));
的过度使用。请记住,Mockito不建议使用verifyNoMoreInteractions()
轰炸每个测试,因为javadoc中列出了Mockito的原因,verifyNoMoreInteractions(Object…)换句话说:给定mock的所有stubbed方法都被标记为verified,这样它们就不会在verifyNoMoreInteractions()期间受到影响。
此方法更改输入模拟!此方法返回输入模拟只是为了方便。
被忽略的存根也将被忽略以进行顺序验证,包括组织。莫基托。为了#验证NoMoreInteractions()。参见第二个示例。
例子:
//mocking lists for the sake of the example (if you mock List in real you will burn in hell)
List mock1 = mock(List.class), mock2 = mock(List.class);
//stubbing mocks:
when(mock1.get(0)).thenReturn(10);
when(mock2.get(0)).thenReturn(20);
//using mocks by calling stubbed get(0) methods:
System.out.println(mock1.get(0)); //prints 10
System.out.println(mock2.get(0)); //prints 20
//using mocks by calling clear() methods:
mock1.clear();
mock2.clear();
//verification:
verify(mock1).clear();
verify(mock2).clear();
//verifyNoMoreInteractions() fails because get() methods were not accounted for.
try { verifyNoMoreInteractions(mock1, mock2); } catch (NoInteractionsWanted e);
//However, if we ignore stubbed methods then we can verifyNoMoreInteractions()
verifyNoMoreInteractions(ignoreStubs(mock1, mock2));
//Remember that ignoreStubs() *changes* the input mocks and returns them for convenience.
忽略存根可用于验证,顺序为:
List list = mock(List.class);
when(mock.get(0)).thenReturn("foo");
list.add(0);
System.out.println(list.get(0)); //we don't want to verify this
list.clear();
InOrder inOrder = inOrder(ignoreStubs(list));
inOrder.verify(list).add(0);
inOrder.verify(list).clear();
inOrder.verifyNoMoreInteractions();
代码示例来源:origin: info.solidsoft.mockito/mockito-java8
/**
* Delegates call to {@link Mockito#ignoreStubs(Object...)}.
*/
default Object[] ignoreStubs(Object... mocks) {
return Mockito.ignoreStubs(mocks);
}
代码示例来源:origin: szpak/mockito-java8
/**
* Delegates call to {@link Mockito#ignoreStubs(Object...)}.
*/
default Object[] ignoreStubs(Object... mocks) {
return Mockito.ignoreStubs(mocks);
}
代码示例来源:origin: sniffy/sniffy
@Test
public void testEstimateSendBufferSndBufOptionThrowsException() throws Exception {
ByteArrayOutputStream expected = new ByteArrayOutputStream();
SnifferSocketImpl.defaultSendBufferSize = null;
when(delegate, "getOutputStream").thenReturn(expected);
when(delegate, "getOption", SO_SNDBUF).thenThrow(new SocketException());
OutputStream actual = sniffySocket.getOutputStream();
verifyPrivate(delegate).invoke("getOutputStream");
verifyNoMoreInteractions(ignoreStubs(delegate));
assertEquals(SnifferOutputStream.class, actual.getClass());
actual.write(3);
assertEquals(3, (int) expected.toByteArray()[0]);
assertEquals((Integer) 0, SnifferSocketImpl.defaultSendBufferSize);
}
代码示例来源:origin: sniffy/sniffy
@Test
public void testEstimateReceiveBufferRcvBufOptionThrowsException() throws Exception {
InputStream expected = new ByteArrayInputStream(new byte[]{1,2,3});
SnifferSocketImpl.defaultReceiveBufferSize = null;
when(delegate, "getInputStream").thenReturn(expected);
when(delegate, "getOption", SO_RCVBUF).thenThrow(new SocketException());
InputStream actual = sniffySocket.getInputStream();
verifyPrivate(delegate).invoke("getInputStream");
verifyNoMoreInteractions(ignoreStubs(delegate));
assertEquals(SnifferInputStream.class, actual.getClass());
assertEquals(1, actual.read());
assertEquals((Integer) 0, SnifferSocketImpl.defaultReceiveBufferSize);
}
代码示例来源:origin: sniffy/sniffy
@Test
public void testEstimateSendBufferNoSndBufOption() throws Exception {
ByteArrayOutputStream expected = new ByteArrayOutputStream();
SnifferSocketImpl.defaultSendBufferSize = null;
when(delegate, "getOutputStream").thenReturn(expected);
when(delegate, "getOption", SO_SNDBUF).thenReturn(null);
OutputStream actual = sniffySocket.getOutputStream();
verifyPrivate(delegate).invoke("getOutputStream");
verifyNoMoreInteractions(ignoreStubs(delegate));
assertEquals(SnifferOutputStream.class, actual.getClass());
actual.write(3);
assertEquals(3, (int) expected.toByteArray()[0]);
assertEquals((Integer) 0, SnifferSocketImpl.defaultSendBufferSize);
}
代码示例来源:origin: sniffy/sniffy
@Test
public void testEstimateReceiveBufferNoRcvBufOption() throws Exception {
InputStream expected = new ByteArrayInputStream(new byte[]{1,2,3});
SnifferSocketImpl.defaultReceiveBufferSize = null;
when(delegate, "getInputStream").thenReturn(expected);
when(delegate, "getOption", SO_RCVBUF).thenReturn(null);
InputStream actual = sniffySocket.getInputStream();
verifyPrivate(delegate).invoke("getInputStream");
verifyNoMoreInteractions(ignoreStubs(delegate));
assertEquals(SnifferInputStream.class, actual.getClass());
assertEquals(1, actual.read());
assertEquals((Integer) 0, SnifferSocketImpl.defaultReceiveBufferSize);
}
内容来源于网络,如有侵权,请联系作者删除!