gpt4 book ai didi

Python @patch 不工作

转载 作者:太空狗 更新时间:2023-10-29 20:51:35 26 4
gpt4 key购买 nike

我正在尝试测试一个在其中创建另一个类实例的方法,我正在尝试模拟内部类的创建...这对我不起作用。我尝试将问题复制到一个简化的案例中 - 但仍然没有成功。这是简化的案例:

我有一个名为 pymock 的目录,里面有一个 __init__.py。除此之外还有这3个文件:

foo.py

#!/usr/bin/python
class Foo(object):
def foo1(self):
return 1

goo.py

#!/usr/bin/python
from foo import Foo


class Goo(object):
def goo1(self):
f = Foo()
return f.foo1()

goo_test.py

#!/usr/bin/python
from mock import patch, Mock
from nose.tools import assert_equal

from goo import Goo


class TestGoo(object):
def setup(self):
self.goo = Goo()

@patch('pymock.foo.Foo', autospec=True)
def test_goo1(self, foo1_mock):
foo_instance = Mock()
foo1_mock.return_value = foo_instance
foo_instance.foo1.return_value = 11
assert_equal(11, self.goo.goo1())

提前致谢!

最佳答案

您需要修补good 正在使用的名称。

@patch('pymock.goo.Foo', autospec=True)

关于Python @patch 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32461465/

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