DirectoryInfo.Exists всегда возвращает false во время MSTest - PullRequest
3 голосов
/ 30 ноября 2011

У меня есть немного логики на границе моего приложения, имеющего дело с созданием каталогов. Я хотел бы проверить, что он фактически создает каталоги, как и ожидалось, но свойство DirectoryInfo.Exists всегда возвращает false, даже если каталог действительно существует.

См. Также этот вопрос - вам нужно установить точку останова, чтобы увидеть, что каталог действительно был создан, поскольку MSTest удалит его после завершения теста.

Есть ли какая-либо настройка, которая указывает MSTest разрешить "нормальный" ввод-вывод файловой системы во время тестов?

1 Ответ

7 голосов
/ 30 ноября 2011

Предполагая, что вы создаете экземпляр DirectoryInfo несколько раньше, происходит некоторое внутреннее кэширование состояния каталога - если вы вызываете DirectoryInfo.Refresh() для принудительного обновления, это должно работать:

var dir = new DirectoryInfo(@".\someDir");
//...other things here
dir.Refresh();
bool doesExist = dir.Exists;
...