У меня есть метод, который я хочу на unittest, в котором есть вызовы файловой системы, и мне интересно, как это сделать. Я посмотрел на код модульного тестирования с зависимостью файловой системы , но он не отвечает на мой вопрос.
Метод, который я тестирую, выглядит примерно так (c #)
public void Process(string input)
{
string outputFile = "output.txt";
this.Transform(input, Resources.XsltFile, outputFile);
if ((new FileInfo(outputFile)).Length == 0)
{
File.Delete(outputFile);
}
}
Я издеваюсь над методом Transform (..), чтобы ничего не выводить в файл, так как я тестирую метод метода Process, а не метод Transform (..), и поэтому файл output.txt не существует. Поэтому проверка if не проходит.
Как мне сделать это правильно? Должен ли я создать какую-то обертку для файловых методов, которую я бы тоже сменил?