NUnit - сборка, которая читает и пишет файл - PullRequest
3 голосов
/ 02 сентября 2010

Я являюсь модульным тестированием сборки, которая использует File.WriteAllLines () и File.ReadAllText () для чтения и записи постоянных данных.Когда я запускаю модульный тест с NUnit Gui, тест завершается неудачей с unauthorizedAccessException.

Путь к файлу, который пытается прочитать и записать, конечно же зависит от места выполнения программы.В зависимости от того, запускаю ли я NUnit в Visual Studio или непосредственно из папки Nunit / bin, именно здесь происходит попытка чтения и записи.

Я пытался запустить NUnit от имени администратора и скопировал всесборок непосредственно в папку NUnit / bin, и проверка по-прежнему не проходит.

Я не хочу указывать путь в сборке напрямую.

Есть идеи, как решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 02 сентября 2010

Вы можете использовать Path.GetTempFileName, чтобы получить временный файл для записи.

В качестве альтернативы вы можете использовать Assembly.Location, чтобы узнать, где находится ваша сборка, и использовать ее в качестве каталога.

2 голосов
/ 29 марта 2017

С NUnit 3 вы должны использовать TestContext, чтобы получить TestDirectory или WorkDirectory .Также есть File Asserts и Directory Asserts , которые могут помочь вам написать ваши тесты более читабельным способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...