Одно простое решение: не передавать файловый объект. Но вместо этого factory , который создает для вас OutputStream.
Во время выполнения это может быть FileOutputStream. Но для тестирования вы можете передать другую фабрику, которая создает, скажем, ByteArrayOutputStream. Затем ваш код записывает в память, не зная об этом.
И тогда вы могли бы написать еще один тест, который читает эти байты.