gpt4 book ai didi

python - 测试发生了多少方法调用以及传递了哪些参数(测试 django mixin 类)

转载 作者:行者123 更新时间:2023-11-28 21:25:17 26 4
gpt4 key购买 nike

我有一个 django mixin 类,其中有几个方法编码如下面的简单示例:

class Mixin(object):
def method1(self):
A = self.A # this is dictionary
B = self.B
C = self.C
D = self.D

for i,j in self.A.iteritems():
self.method2(B, C, D, i, j)

def method2(self, arg1, arg2, arg3, arg4, arg5):
pass

Mixin 类声明不提供任何 A、B、C、D 参数。这些将在 View 类中指定。

我想测试方法 1 的行为并检查发生了多少次方法 2 调用以及每次调用中传递了哪些参数。

如果我知道如何处理这个问题,我将不胜感激。

提前致谢!

最佳答案

您可以使用 mock 库相当简单地完成此操作。您可以修补被测 View 以用模拟替换 method2,然后使用 calls_list 属性或各种 assert_called_方法。

@mock.patch('MyViewClass.method2')
def test_method2_calls(self, patched_method):
... thing that calls method1 ...
patched_method.assert_called_with('A') # or whatever

关于python - 测试发生了多少方法调用以及传递了哪些参数(测试 django mixin 类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com