提供一个模块
some_module.py
_foo = Foo(config)
def do_foo():
return _foo.foo()
Foo.__init__
引发异常,所以我无法编写测试,因为在导入时some_module.py
中已经引发了异常。
我想修补模块以将_foo
替换为另一种类型的对象,例如TestFoo
。我尝试使用mock.patch
,但此操作不起作用,因为在应用修补程序之前已经引发了异常。
我来自Java,在测试时我会通过构造函数注入它,这很容易。我在Python中有哪些选择?