Недавно я сделал то же самое и придумал дизайн, в котором у меня был свой собственный объект Directory
, в котором был DirectoryBoundary
, который был ссылкой на каталог. Сам по себе DirectoryBoundary
не тестировался напрямую, но я использовал некоторые интеграционные тесты, чтобы охватить его.
Если вы пойдете в этом направлении, я думаю, вы обнаружите, что ваш дизайн становится намного более свободным, а ваши точки интеграции легче. Посмотрим правде в глаза, классы ввода-вывода .NET File не были предназначены для тестируемости. Так что придумайте свое. Вы можете издеваться над новыми Directory
классами, или делать то, что я делал, и иметь только поддельные классы Boundary и какую-то форму создателя, в которую вы вводите.
Надеюсь, это поможет.