Scrittura di casi di test automatizzati per una classe di archiviazione di cartelle.

2

Usando C # e Visual Studio, ho sviluppato una classe che blocca e archivia una cartella nella posizione desiderata, creando directory e manipolando i file su una macchina.

L'uso previsto fa parte di un software incorporato che raccoglierà le informazioni di registrazione per un altro software dopo il suo completamento.

Questa classe è impostata dalle classi genitore che passeranno le informazioni di configurazione conosciute, questa classe non si preoccupa da dove proviene, deve solo esserci. La classe richiede le informazioni su directory e file che sono derivate dai file di configurazione.

So cosa deve essere testato, ma quello che sto cercando è come scrivere test automatici, se è possibile. Il motivo per cui è così difficile è che le informazioni di configurazione saranno sicuramente diverse per ogni utente.

I test automatici sono possibili anche senza che lo sviluppatore debba modificarli ogni volta che è necessario eseguire i test? Come ti avvicineresti a questo o sto pensando troppo a questo?

    
posta Bryan Harrington 25.04.2016 - 18:32
fonte

1 risposta

2

Se incapsuli tutte le operazioni di I / O in una piccola classe con un'interfaccia e le immetti nella classe di archiviazione, puoi simulare le chiamate al sistema IO durante i test.

public class Archiver
{
    public IFileSystem Filesystem { private get; set; }

    public void DoWork() 
    {
        //business logic here
    }

    public Archiver() { Filesystem = new RealFilesystemClass(); }
}


[TestClass]
class ArchiveUnitTests
{
    Archiver archiver = new Archiver { Filesystem = new MockFilesystem() };

    [Test]
    public void Reads_From_Filesystem()
    {
        //Test code here
    }
}
    
risposta data 25.04.2016 - 18:46
fonte

Leggi altre domande sui tag