代码之家  ›  专栏  ›  技术社区  ›  Johnny Metz

函数内部的模拟python函数

  •  0
  • Johnny Metz  · 技术社区  · 6 年前

    我有以下功能 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' . 是我做错了什么还是这不可能?

    1 回复  |  直到 6 年前