DirectoryInfo.Exists всегда возвращает false во время MSTest
У меня есть немного логики на границе моего приложения, связанного с созданием каталогов. Я бы хотел проверить, что он фактически создает каталоги, как ожидалось, но свойство DirectoryInfo.Exists всегда возвращает false, даже если каталог действительно существует.
См. также этот вопрос - вам нужно установить точку останова, чтобы увидеть, что каталог действительно создан, потому что MSTest удалит его, когда тест закончится.
Есть ли какая-то настройка, которая сообщает MSTest разрешить "нормальную" файловую систему ввода-вывода во время тестов?
Ответы
Ответ 1
Предполагая, что вы создаете экземпляр DirectoryInfo несколько раньше, существует некоторое внутреннее кэширование состояния каталога - если вы вызываете DirectoryInfo.Refresh()
для принудительного обновления, это должно работать:
var dir = new DirectoryInfo(@".\someDir");
//...other things here
dir.Refresh();
bool doesExist = dir.Exists;