Nasıl C dosya sistemi dışarı alay mı# birim test için?
C dosya sistemi alay etmek için herhangi bir kütüphane ya da yöntem vardır# birim testleri yazmak için? Benim şimdiki durumda, belirli bir dosya olup olmadığını kontrol yöntemleri var ve oluşturma tarihini okuyun. Gelecekte bundan daha fazlasına ihtiyacım olabilir.
CEVAP
Bir arabirim oluşturarak bunu yapabilirsiniz:
interface IFileSystem {
bool FileExists(string fileName);
DateTime GetCreationDate(string fileName);
}
ve 'gerçek' olan bir uygulama Sistemi kullanır.oluşturma IO.Dosya.() Var vb. Daha sonra bu arayüzü alaycı bir çerçeve kullanarak alay edebilirsiniz; Moq tavsiye ederim.
Edit: biri bu işi yapıyor ve nazik here. internete
Dışarı alay DateTime için bu yaklaşım kullandım.UtcNow bir İClock arayüzü (gerçekten bizim test için zamanın akışını kontrol edebilmek için çok yararlı!) ve daha geleneksel bir arabirimi İSqlDataAccess.
Başka bir yaklaşım sınıflar için aramaları yakalamak ve onları söndürür izin verir TypeMock kullanmak olabilir. Bu para ancak mal olması ve tüm ekibinizin bilgisayarlarda yüklü olması gerekir ve çalıştırmak için de, görünüşe göre bu Sistem için işe yaramaz server kurmak.IO.5 ** dosyası.
Ayrıca sadece bazı yöntemler birim test edilebilir değildir ve yavaş çalışan ayrı entegrasyon ve sistem testleri bir paketi test bunu kabul edebilirsin.
Nasıl birim test soyut sınıflar için: ...
Nasıl RequireJS birim test için sahte ...
Nasıl veritabanı sorguları ile bir nes...
Nasıl konsol Sistemi kullanarak renkli...
Nasıl birden fazla dosya üzerinde djan...