java,mockito - 我如何找出调用了哪些模拟?

标签 java mockito

我真的不在乎什么时候调用 mock - 几乎,我正在将一堆 mock 迁移到真实世界的代码中,因为集成测试中的 mock 有时非常愚蠢。

无论如何,在这里我有一个充满模拟设置的巨大类 - 但我真正想要的是在每个测试中找出使用了哪些模拟。

使用 mockito,我是否可以在实际执行特定“时间”时获取它,我不知道,“记录”或打印或其他东西?

最佳答案

从 Mockito 1.9.0 开始,您可以使用 verboseLogging设置。

例如,这个:

@Test
public void testLogging() {
  final List<?> mockList = mock(List.class, withSettings().verboseLogging());
  when(mockList.size()).thenReturn(6);

  mockList.size();
}

产生:

###### Logging method invocation #1 on mock/spy ######## list.size(); invoked: -> at

soanswers.mockito.LogCalls.testLogging(LogCalls.java:35) has returned: "0" (java.lang.Integer)

###### Logging method invocation #2 on mock/spy ######## stubbed: -> at

soanswers.mockito.LogCalls.testLogging(LogCalls.java:35) list.size(); invoked: -> at soanswers.mockito.LogCalls.testLogging(LogCalls.java:37) has returned: "6" (java.lang.Integer)

关于java,mockito - 我如何找出调用了哪些模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14882203/

相关文章:

java - 对 Mapper 转换方法进行单元测试的正确方法

java - 使用mockito模拟其余客户端类抛出空指针异常

java - 抛出主:NullPointerException in using CardLayout

java - INSTALL_PARSE_FAILED_NO_CERTIFICATES 安装修改后的 apk 文件失败(无效的 SHA1 签名),即使在使用 jarsigner 签名之后

java - 尝试创建正则表达式

java - 有没有更好的方法来测试以下方法而无需模拟返回模拟?

java - 如何仅模拟函数的一部分

java - 使用 Mockito 对 Runnable 进行单元测试

java - 如何在 Jython/Java 代码中提供 python 包路径?

java - 如何在MALLET中获取两个文档之间的余弦相似度?