我正在使用mockito修补某个类的示例,并检查对该类方法的调用。
对于此类:
class A:
def __init__(self, a):
self.a = a
def foo(self, a):
self.a = 2 * a
return 2 * a
我可以使用mockito像这样修补foo
:
instance = A(1)
mockito.expect(instance, times=1).foo(a=5).thenReturn(10)
这样我就可以验证foo是否被5
参数调用过一次,也可以用...
代替a=5
来验证它是否被任何参数调用过一次。
我想做的是验证它是否被调用过一次,并且参数可以被2整除。对此,我有两个想法(我不知道如何实现这两个想法中的任何一个):
1.传递某种lambda函数而不是参数a=5
。我相信我在mockito for Java中见过类似的东西。
1.使用...
并检索调用foo
时传递的参数,这样我就可以轻松地对这些参数进行验证。
1条答案
按热度按时间0g0grzrc1#
也许你可以试试
arg_that
,在这里你可以传入一个lambda:来自文档:
mockito.matchers.参数_that( predicate )
匹配 predicate 返回True的任何参数示例:
验证(模拟).foo(参数_that(λ参数:精氨酸〉3和精氨酸〈7))