问题标签 [argument-matching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
90 浏览

java - 为什么在验证另一个模拟时访问模拟时 Mockito 会抛出?

看这个例子:

这两个测试几乎相同,唯一的区别是:用于contains()匹配器的字符串在 中预先计算passes(),但在 中内联fails()

fails()呕吐:

(显然:错误消息是完全错误的,因为上面的代码对所有参数都使用了匹配器)

更有趣的是:它只会在超过 1 个要匹配的参数时失败(如果一个从 中删除int参数gimme(),并且只是传递/匹配该字符串参数:传递)。

谁能准确解释这里发生了什么,有没有办法做这样的匹配contains("surprise: " + foo),比如foo被 Mockito 嘲笑?


当然,这实际上是指 MCVE。从我们环境中失败的单元测试到这里的这个例子,我花了 3 个小时。

在真实环境中,Bar 类是一个模拟的日志工具。Foo 对象代表一些由一些假持久层创建的“数据实体”。我必须验证生产代码确实记录了特定信息,并且其中一些信息来自伪造的数据对象。

0 投票
0 回答
60 浏览

scala - 使用 Mockito 时类型参数的参数匹配器

我试图找出是否可以将any参数匹配器之类的东西用于具有类型参数的方法:

使用上述代码段运行代码时,出现此错误:

我猜这是因为我向该方法传递了一个确切的类型Product参数getItems

当我传入一个实际FilterParams对象时,这确实有效:

是否有任何参数匹配器可用于类型参数?还是违反直觉,因为每当我们使用类型参数调用函数时,我们必须传递类型参数?

编辑:

Product这不是 Scala 的内置Product特性。

方法的函数签名getItems

0 投票
1 回答
22 浏览

mockito - 是否可以使用 ArgumentMatchers 的变量?

假设我有一个看起来像这样的界面。

这里有一个简单的存根,使该some方法只返回给定的数组。

像这样修改上面的代码是否有可能或有意义?

它有相同或等效的效果吗?