java - org.mockito.Mockito.times(1) 有方便的方法吗?

标签 java unit-testing junit mockito refactoring

我正在寻找官方提供的方法来替换最后一行...

import static org.mockito.BDDMockito.then;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;

// ...

Runnable mock = mock(Runnable.class);
then(mock).should(times(1)).run();

...更短的内容,例如:

then(mock).should(once()).callMethod();

为什么更短?因为 IntelliJ 通常有用的功能会显示参数的名称,从而导致许多长代码行:

then(mock).should(times(wantedNumberOfInvocations: 1)).callMethod();

我知道我可以轻松编写这样的函数,但随后我要么必须为几个工作区项目复制它,要么引入一个新模块,这对我来说似乎有点过头了。

如果您能为 Mockito.atLeast(1) 指出类似 Mockito.atLeastOnce() 的内容,只是没有 atLeast,那就太好了> 部分:-) 谢谢

最佳答案

另一种选择是使用简单的 should(),它是单次调用的别名:

then(mock).should().callMethod();

关于java - org.mockito.Mockito.times(1) 有方便的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743843/

相关文章:

java - 我应该为以下功能编写哪些单元测试用例?另外,如何提供示例 JSONobject 作为函数中的参数?

java - Android Studio 无法正常工作

java - kafka流跳跃窗口聚合导致时间戳零时出现多个窗口

unit-testing - Clojure 中的单元测试局部函数(letfn)?

java - 带有套件的 Junit 测试运行器

java - J单元。并行运行。但是所有的测试方法都处理单例实例。怎么解决?

android - 如何在没有 Activity 的情况下在 Android JUnit 测试的 UI 线程中运行代码?

java - 如何让 JavaFx Combobox 响应用户输入?

java - 向 hashmap java 添加一个值

java - 如何在代码内激活 JButton ActionListener(单元测试目的)?