在python2中,我的测试方法中包含以下内容:
lapply(seq_along(my.list),
function(x) cbind(my.list[[x]], unique.id=x))
[[1]]
y1 y2 unique.id
1 1 4 1
2 2 5 1
3 3 6 1
[[2]]
y1 y2 unique.id
1 3 6 2
2 2 5 2
3 1 4 2
我正在使用python3,但我不知道如何进行类似的模拟。我尝试过:
mock_file = MagicMock(spec=file)
我想念什么?
答案 0 :(得分:2)
IOBase
没有实现诸如read
和write
之类的关键文件方法,因此通常不适合用作创建模拟文件对象的规范。根据您是要模拟原始流,二进制文件还是文本文件,可以使用RawIOBase
,BufferedIOBase
或TextIOBase
作为规范:
from io import BufferedIOBase
mock_file = MagicMock(spec=BufferedIOBase)