我正在复制一些问题来测试我的代码。它应该容忍一些网络问题,如connection rest
和IO问题,如out of space
。
如何重现问题out of space
?
更新1:我得到了解决方案。我使用VirtualBox进行测试,只需将一个小磁盘附加到vm,放入一些虚拟数据来占用空间然后测试我的代码。
答案 0 :(得分:3)
在你的单元测试中(我假设你有单元测试而你想在单元测试中重现你的错误)你可以使用mock而不是你写的实际文件流,比如说,在两个之后或者三次读取流,你的模拟会抛出错误。
您可以使用mockito库来执行此操作。
这将是这样的:
FileWriter myStream = mock(FileWriter.class);
when(myStream.write(any())).thenThrow(new ExceptionToThrowException());
// some code...
myObject.setFileWriter(myStream);
// more code ...
(上面的代码只是一个指导,我没有编译或测试它......)
答案 1 :(得分:1)
试试这个。一旦完成杀死这个java进程,然后删除文件“D:// toberemoved”
public static void main(String[] args) throws IOException {
OutputStream os=new FileOutputStream(new File("D://toberemoved"));
ObjectOutputStream oos=new ObjectOutputStream(os);
while (true) {
oos.write(2);
}
}
答案 2 :(得分:0)
我认为你不能真正模拟出太空。但是为了您的测试,您可以创建一个临时分区,并可以填充一些垃圾。
答案 3 :(得分:0)
尝试使用您可以找到的最小的USB驱动器,并填写一个巨大的文本文件,或整个电影或照片集。
答案 4 :(得分:0)