问题标签 [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.
java - 为什么在验证另一个模拟时访问模拟时 Mockito 会抛出?
看这个例子:
这两个测试几乎相同,唯一的区别是:用于contains()
匹配器的字符串在 中预先计算passes()
,但在 中内联fails()
。
fails()
呕吐:
(显然:错误消息是完全错误的,因为上面的代码对所有参数都使用了匹配器)
更有趣的是:它只会在超过 1 个要匹配的参数时失败(如果一个从 中删除int
参数gimme()
,并且只是传递/匹配该字符串参数:传递)。
谁能准确解释这里发生了什么,有没有办法做这样的匹配contains("surprise: " + foo)
,比如foo
被 Mockito 嘲笑?
当然,这实际上是指 MCVE。从我们环境中失败的单元测试到这里的这个例子,我花了 3 个小时。
在真实环境中,Bar 类是一个模拟的日志工具。Foo 对象代表一些由一些假持久层创建的“数据实体”。我必须验证生产代码确实记录了特定信息,并且其中一些信息来自伪造的数据对象。
scala - 使用 Mockito 时类型参数的参数匹配器
我试图找出是否可以将any
参数匹配器之类的东西用于具有类型参数的方法:
使用上述代码段运行代码时,出现此错误:
我猜这是因为我向该方法传递了一个确切的类型Product
参数getItems
。
当我传入一个实际FilterParams
对象时,这确实有效:
是否有任何参数匹配器可用于类型参数?还是违反直觉,因为每当我们使用类型参数调用函数时,我们都必须传递类型参数?
编辑:
Product
这不是 Scala 的内置Product
特性。
方法的函数签名getItems
:
mockito - 是否可以使用 ArgumentMatchers 的变量?
假设我有一个看起来像这样的界面。
这里有一个简单的存根,使该some
方法只返回给定的数组。
像这样修改上面的代码是否有可能或有意义?
它有相同或等效的效果吗?