Итак, как оказалось, проблема была с NUnit.Тесты, выполненные с помощью MSTest, возвращают папку bin тестового проекта как Environment.CurrentDirectory, "C: \ Code [test_project_folder] \ bin \ Debug";тесты, выполненные с помощью NUnit, возвращают "C: \ PROGRAM FILES (X86) \ MICROSOFT VISUAL STUDIO 14.0 \ COMMON7 \ IDE \ COMMONEXTENSIONS \ MICROSOFT \ TESTWINDOW".Проблема отказа в доступе возникла из-за того, что CurrentDirectory является подкаталогом папки «Program Files (x86)».
Чтобы обойти эту проблему, я добавил строковый параметр testDirectory в свой вспомогательный метод...
public static string[] CreateTestFolders(string testDirectory)
{
_testFolders = new string[] { @"TestFolder1", @"TestFolder2", @"TestFolder3", @"TestFolder4", @"TestFolder5" };
for (int i = 0; i < _testFolders.Length - 1; i++)
{
try
{
_testFolders[i] = Directory.CreateDirectory(testDirectory + _testFolders[i]).FullName;
}
catch(Exception ex)
{
string exm = Environment.UserName + " " + ex.Message;
}
}
return _testFolders;
}
... и обновил мой вызов метода для передачи AppDomain.CurrentDomain.BaseDirectory в качестве аргумента ...
_testFileFolders = StepHelper.CreateTestFolders(AppDomain.CurrentDomain.BaseDirectory);
Это исправление дало результат, который я преследовал.