gpt4 book ai didi

python - 在类中模拟类实例

转载 作者:行者123 更新时间:2023-11-28 20:23:46 25 4
gpt4 key购买 nike

我目前正在为我制作的 wsgi 服务器编写测试。 __init__ 构造函数中的服务器类将其他类的 2 个实例初始化为成员。让我们说

def __init__(self):
self.a = A()
self.b = B()

在测试期间,我如何模拟 self.a 和 self.b 作为我为它们创建的模拟类而不是使用 A 和 B?

#I use this if I want to mock the entire server class
@mock.patch('myproject.server.MyServerClass',autospec=True)

最佳答案

我写的 python 越多,我对这种情况就越好奇。我的倾向通常是引入依赖注入(inject)并在构造函数中传入创建的 A 和 B 类。这使得查看外部依赖项并在需要时更改它们变得容易。但有时这是矫枉过正。你能不能:

server = Server()
server.a = MockA()
server.b = MockB()

关于python - 在类中模拟类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23199445/

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