【发布时间】:2018-02-19 10:24:37
【问题描述】:
我想修补 pathlib.Path 对象的 exists() 方法以进行单元测试,但我无法让它工作。
我想要做的是:
from unittest.mock import patch
from pathlib import Path
def test_move_basic():
p = Path('~/test.py')
with patch.object(p, 'exists') as mock_exists:
mock_exists.return_value = True
但它失败了:
AttributeError: 'PosixPath' object attribute 'exists' is read-only.
有什么想法吗?
【问题讨论】:
-
您需要使用
Path对象还是可以模拟整个事情? -
我需要
Path对象... -
不要修补实例。修补类。
标签: python unit-testing mocking pathlib