python – 模拟/测试对Path.open的调用
发布时间:2020-12-16 22:25:35 所属栏目:Python 来源:网络整理
导读:我正在尝试为在pathlib.Path上调用open方法的函数编写单元测试.我能够成功地模拟open方法而没有问题,但验证函数是否具有正确的行为是困难的.请参阅以下示例代码: def test_my_function(self): with patch.object(Path,'open') as mock_open: my_function(*a
我正在尝试为在pathlib.Path上调用open方法的函数编写单元测试.我能够成功地模拟open方法而没有问题,但验证函数是否具有正确的行为是困难的.请参阅以下示例代码:
当我内省mock_open并查看_mock_mock_calls列表时,我无法找到正在写入的文件的字符串路径.通话记录如下所示:
有没有办法测试Path.open被调用时打开的路径? 最佳答案
您使用模拟对象替换了方法.这里使用模拟对象的问题是它不会绑定到Path()实例.它将被调用,但没有返回Path()实例的路径(没有双关语意).
使用函数模拟open(),返回
现在任何Path().open()调用都会调用opener mock,记录所有文件交互和调用它的Path()对象:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |