小编Ana*_*and的帖子

在不创建文件的情况下测试outputstream.write(<String>)

我正在测试java中的输出流,如下所示.

    Writer outputStream = getOutputStream(fileName);
    if(outputStream != null) {
        try {
            outputStream.write(inputText);
        }
        finally {
            outputStream.close();
        }
    }
    else {
        throw new IOException("Output stream is null");
    }
Run Code Online (Sandbox Code Playgroud)

我正在写一个mockito测试,如下所示

public void testFileWrite() throws IOException {
    when(testObj.getOutputStream(outputFileNameValidValue)).thenReturn(outputStreamMock);
    doNothing().when(outputStreamMock).write(Matchers.anyString());
    doNothing().when(bufferedReaderMock).close();

    testObj.write(outputFileNameValidValue, reveredFileInput);

    verify(outputStreamMock).write(Matchers.anyString());
    verify(outputStreamMock).close();
}
Run Code Online (Sandbox Code Playgroud)

问题是在创建OutputStreamWriter(new FileOutputStream(filename))磁盘上创建物理文件时.

我们可以测试Outputstream.write而不实际在磁盘上写文件吗?

谢谢阿南德

java testing tdd mockito

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

mockito ×1

tdd ×1

testing ×1