В наши дни я склонен удивляться, но этот маленький подонок действительно владел мной партизанским стилем:
Тестируемый метод: CopyAllFiles (sourceDir, targetDir) - Мне не нужно объяснять, что он делает.
В моем тесте я создаю обе директории перед вызовом испытуемого. Кроме того, я добавляю три файла в каталог, созданный в расположении sourceDir. Пусть код говорит:
FileSystemService serviceUnderTest = new FileSystemService();
string sourcePath= Path.Combine(_dateiPfad, "quelle");
string destinationPath= Path.Combine(_dateiPfad, "ziel");
Directory.CreateDirectory(sourcePath);
Directory.CreateDirectory(destinationPath);
File.Create(Path.Combine(sourcePath , "Foo.txt"));
File.Create(Path.Combine(sourcePath , "Bar.csv"));
File.Create(Path.Combine(sourcePath , "Baz.xls"));
serviceUnderTest.CopyAllFiles(sourcePath, destinationPath);
IEnumerable<string> sourceFiles= from fileName in Directory.GetFiles(sourcePath) select fileName;
IEnumerable<string> destinationFiles= from fileName in Directory.GetFiles(destinationPath) select fileName ;
Assert.IsTrue(sourceFiles.SequenceEqual(destinationFiles));
Я получаю IOException, говорящую «Файл используется другим процессом».
Почему я не могу получить доступ к только что созданным файлам?
Большое спасибо заранее!