This is a fair argument to make: "Remove unnecessary layers or complexity when learning new languages." And I also don't TDD when learning a new language - in the beginning.
However TDD (when done pragmatically) is actually a great way to dive into a language. The thought process of mocking the file system is actually _where_ you learn about the language/libraries/frameworks. You have to understand those APIs a little bit before you can properly mock them.
... like how do I run the tests? I run into this a lot when I code as well. But I have to remind myself that I don't need a runner from a framework in order to do TDD. Don't even need a framework.
There is nothing about TDD that says you have to use any unit testing library. It's a process. And if understood properly and used pragmatically can be an excellent way to learn a new language.