Ho alcune funzioni che leggono i file di modifica &. Al fine di rendere i test unitari indipendenti da qualsiasi problema relativo al file system, voglio includere i file all'interno del progetto.Incluso il file di risorse per il test dell'unità nel progetto C#
Tuttavia, la mia funzione dovrebbe recuperare il filePath e tutto ciò che posso ottenere dall'assembly è FileStream. Qualche idea su come posso ottenere il percorso del file di un file di risorse nel progetto?
System.Reflection.Assembly a = System.Reflection.Assembly.Load(assemblyName);
FileStream stream = a.GetFile(assemblyName + "." + fileName);
Grazie!
IMHO tali test-dati non deve mai essere costruito nella prova e dovrebbe essere fornita a parte (che permette anche di eseguire nuovamente il test con dati diversi, senza ricostruzione). Di quale tipo di problemi con il file system sei preoccupato? –
Non mi piace che i test di unità dipendano da risorse esterne, che possono essere modificate, spostate, modificate e così via. Questo test unitario viene eseguito per verificare 1 scenario e voglio che lo scenario esatto sia testato, quindi dovrebbe essere indipendente dal fatto che i permessi dei file possono essere cambiati, troppi gestori di file aperti, disco NTFS non disponibile e così via .. – Yossale
Penso che questa sia una buona domanda. Per quanto riguarda i test di unità reali, ammetto che l'utilizzo dei dati dei file deve essere evitato, ma se si pensa ai test di integrazione (ad esempio sto scrivendo un lettore di file) utilizzando i dati di test "reali" è sensato imho. – anhoppe