首页 > 解决方案 > 如何在另一个函数中模拟一个python函数

问题描述

我有以下功能script.py

from mock import patch

def outer():
    def inner():
        # something here
        return 5
    return inner() + 2

print(outer())
# 7

为了测试该outer功能,我正在尝试模拟该inner功能。这是我到目前为止所拥有的:

@patch("script.outer.inner")
def test_outer(mock_inner):
    mock_inner.return_value = 10

    result = outer()
    assert result == 12

但我不断得到AttributeError: <function outer at 0x10d594ae8> does not have the attribute 'inner'。我做错了什么还是这是不可能的?

标签: pythonunit-testingmockingpython-unittest

解决方案


推荐阅读