java - Mockito 提示错误的论点

标签 java testing mockito verify

我们尝试使用 Mockito 验证 Action 的行为。测试代码如下所示

final Type1 mock = mock(Type1.class);
new SomeAction<Type1>(mock).actionPerformed(null);

verify(mock).someMethod();

方法 actionPerformed 仅包含对 Type1 的构造函数中提供的对象调用 someMethod。然而 Mockito 提示预期的方法调用没有发生,而是发生了不同的方法调用。但是 Mockito 打印的两个调用的 String 表示是完全一样的!

任何解释发生了什么?

更新:来自 Mockito 的错误消息

Argument(s) are different! Wanted:
type1.someMethod();
-> at xxx
Actual invocation has different arguments:
type1.someMethod();
-> at xxx

最佳答案

这有点牵强,但请检查您的 toString 实现。我遇到过一些恼人的单元测试场景,从单元测试的角度来看,预期的和观察到的似乎是相同的,而实际上它们是不同的。最后,是 toString 的一个变体让我相信有相似之处,而实际上并没有。

关于java - Mockito 提示错误的论点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266432/

相关文章:

java - 如何在文本区域上绘图?

java - 如何将 for 循环的索引变量传递给匿名 Thread/Runnable

C#单元测试,如何测试大于

android - 如何为通知进行android单元测试?

java - @PostConstruct 多次调用@ConversationScoped bean

php - 如何在原始 PHP 中定义和编写自定义单元测试代码?

scala - 在同一规范文件中测试 akka-http 和 akka actor 时,如何解决冲突的 actor 系统?

java - Guava 加载缓存 : How to unit test ListenableFuture within CacheLoader

junit - 需要在要测试的类的构造函数中模拟对象的创建

java - 如何在 PHP 前端中使用 play 框架 (play-2.2.3) 提供的 CSRF token ?