J'ai une méthode que je veux unittest qui a des appels de système de fichiers dedans et je me demande comment y aller. J'ai regardé Unit testing code with a file system dependency mais cela ne répond pas à ma question.Méthodes de désintégration qui contiennent des appels de système de fichiers
La méthode que je suis le test ressemble à quelque chose comme ça (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);
}
}
Je raille la transformation (..) méthode pour ne pas sortie quoi que ce soit dans un fichier que j'UnitTesting la méthode du processus et non la Transformez (..) la méthode et donc aucun fichier output.txt n'existe. Par conséquent, la vérification if échoue.
Comment est-ce que je devrais faire ceci correctement? Devrais-je créer une sorte de wrapper autour des méthodes du fichier io que je mockerais aussi bien?