我正在编写一个简单的函数,通过一些转换和yaml将一个字典写到磁盘上。测试发生了什么最简单的方法是捕获Path(file_name).write_text(text_to_write)的输出。但是我很难准确地理解我需要做什么来捕获这些内容。
def test_path_write():
with mock.patch('Path.write_text', return_value=None):
function_that_uses_path_write_text()
assert 'Content I would like to be in the file' in SOME_KIND_OF_CAPTURE你知道如何将一些东西放到SOME_KIND_OF_CAPTURE中,我可以用它来测试吗?
发布于 2021-09-25 01:49:11
使用pytest,下面是我所做的:
def test_writer(mocker):
mocker.patch.object(Path, "write_text")
[...]
written_content = Path.write_text.call_args_list[0][0][0]发布于 2021-09-19 20:00:52
你在找下面这样的东西吗?
with patch.object(Path, 'write_text') as patch_path:
data_to_write = 'Something'
patch_path.return_value = data_to_write
path = Path('some/path')
res = path.write_text(data_to_write)
print(res)https://stackoverflow.com/questions/69246604
复制相似问题