使用Mockito,是否可以在不给出实际参数的情况下验证是否使用spy或mock调用了函数?例如,如果我有一个类或对象:
class MyClass{
def f(x : Int) = x
}
object MyObject{
def f(x : Int) = x
}
我想说一些类似的话:
val my_class = mock[MyClass]
// Do something that causes method f of MyClass to be called
there was one(my_class).f // Doesn't give arguments
val my_object = spy(MyObject)
// Do something that causes method f of MyObject to be called
there was one(my_object).f // Doesn't give arguments
我只是想验证该方法是否被调用,而不是它是否收到了特定的参数。此外,当我检查某个函数是否未被调用时:
there was no(my_object).f
我不想验证它是否没有用某些参数调用,而是根本没有调用。
有办法做到这一点吗?
您可以使用Mockito匹配器来指定要验证是否对任何参数进行了调用。
在你的情况下,那将是
there was one (my_object/my_class).f(any[Int])