Domanda

Se il mio test di unità si basano sul sistema di file e ho bisogno di prendere in giro questo, qual è il modo migliore per andare su questo?

Grazie

È stato utile?

Soluzione

Che, fondamentalmente, sono due opzioni: Eiter estratto tutti i file-system logica relativa dietro una IFileSystemService, o utilizzare stub da Microsoft, che è

  

... un quadro leggero per NET che fornisce stub prova. Per le interfacce e classi non sigillato, involucri type-safe vengono generati che possono essere facilmente personalizzati collegando delegati.

Altri suggerimenti

Il file system è un ottimo esempio di come TDD può guidare verso una migliore progettazione, più flessibile. Spesso, quando si interagisce con il file system, si può trattare con i file di lettura e scrittura utilizzando Streams o TextWriters al posto di file effettivi.

Questi sono tutti i tipi astratti e così sono facili da prendere in giro.

Ora avete un'API più flessibile perché non è strettamente accoppiato al file system, ma continua a sostenere le operazioni sui file.

Diniego Io lavoro in Typemock.

Sono contento di dire, che le nostre ultime versioni supportano i seguenti tipi di System.IO da beffeggiare:

  • File
  • Directory
  • FileStream

C'è un breve esempio:

public void Test()
{
    string path = @"C:\TypemockCan.txt";

    Isolate.WhenCalled(() => File.Exists(null)).WillReturn(true);

    Assert.IsTrue(File.Exists(path));
}

.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top