【发布时间】:2020-07-26 03:56:49
【问题描述】:
我想让 Path.exists() 仅在测试特定路径时返回 True:
from unittest import TestCase
from mock import patch
import pathlib
def fn(names):
for index, name in enumerate(names):
if pathlib.Path(name).exists():
return index
class T(TestCase):
@patch.object(pathlib.Path, 'exists', side_effect=lambda: self.name == "countme")
def test_fn(self, exists_mock):
self.assertEqual(2, fn(["not", "not", "countme", "not"]))
我也试过
@patch.object(pathlib.Path, 'exists', side_effect=lambda self: self.name == "countme")
【问题讨论】:
标签: python-3.x python-unittest.mock