* Mockito has issues with leaking classloaders.  I'd prefer not to use it.  
* Subclassing file also seems risky


Why not just generate a temporary directory (`IO.withTemporaryDirectory`) and create the files you want in the test?   When it comes to testing your fileParser and reading the filesystem, I think it's ok to test against the filesystem itself, because running, e.g. on Windows could be enlightening for finding issues in cross platfrom assumptions that you'd never get with something like Mockito.