【发布时间】:2019-03-18 12:45:51
【问题描述】:
我想存根一些代码,以便当参数之一与特定值匹配时,可变参数方法返回 true。例如,给定我无法更改的现有代码:
(这里使用 Kotlin,但我认为这适用于任何 Java 情况。)
class Foo {
fun bar(vararg strings : String) : Boolean {
// Iterates `strings` and returns true when one satisfies some criteria
}
}
...我想写类似这样的存根代码:
val foo = Foo()
whenever(foo.bar(eq("AAA"))).thenReturn(true)
当调用准确foo.bar("AAA")时,这可以正常工作。
但是,有时被测代码会调用foo.bar("AAA", "BBB"),在这种情况下,它会失败。
如何修改我的存根代码,以便在调用中传递任意数量的可变参数时它可以工作?
编辑标记为可能的duplicate;在这种情况下,该场景考虑在调用中完全省略可变参数。在这里,我试图匹配可变参数数组的一个特定元素。
【问题讨论】: