我有以下情况:
mixin_foo.py
class Foo:
def doFoo(self):
bar=self.defined_elsewhere()
#....do work
单元测试:
@patch('path_to_mixin_foo.mixin_foo.Foo.defined_elsewhere')
def test_do_foo(self, definedElsewhere)
definedElsewhere.return_value = bar1
self.FooTester.doFoo()
在从该mixin派生的类中定义了defined_healthe()方法。然而,出于开发目的,我们正在努力在将_foo.foo与类集成之前先混合_foo.foo。但是,当我尝试对doFoo方法进行单元测试时,pytest显示了以下错误:Attributeerror<&燃气轮机;没有“在别处定义的”属性。 我的补丁是否正确?是否有其他方法可以对该方法进行单元测试?基本上,我想在别处模拟self.defined_的调用/返回值,以便测试doFoo方法
您的方法的问题是您试图修补一个不存在的属性。无法修补
defined_elsewhere
,因为它未在Foo
中定义,但可以从Foo
派生,添加方法,并修补Foo
类:相关问题 更多 >
编程相关推荐