Birkaç dosya formatı olan bir proje üzerinde çalışıyorum. Bazı biçimler .xsds, bazıları da ilgili web sitelerindeki belgelerle belirtilirken, bazıları doküman içermeyen şirket içi biçimlerdir. Mwahahahaha.
Sorun ne?
Dosya okuyucularımı test etmek istiyorum, ancak bunu nasıl yapacağımı tam olarak bilmiyorum. Uygulamanın akışı şöyledir:
file.___ ===> read by FileReader.java ===> which creates a Model object
FileReader
arayüz nerede
public interface FileReader {
public Model read(String filename);
}
Model
Dosya okunduğu zaman doldurulur birkaç özellik vardır. Şuna benziyor
public class Model {
List<String> as;
List<String> bs;
boolean isAPain = true;
// ...
}
Ne denedim?
Benim tek fikrim, her dosya biçimi için "jeneratör" dosyası oluşturmaktı. Bu jeneratörler temelde birkaç değişkeni (örneğin bir dosyada oluşturulacak yorum sayısı) alan ve daha sonra okuduğum ve sonucu Model
ilk olarak dosyayı oluşturmak için kullandığım değişkenlerle karşılaştıran bir örnek dosya çıkaran kuruculardır .
Ancak bunun birkaç sorunu var:
- Dosyalarının yok oluşturduğu bakmak gerçek dosyaları gibi. Jeneratör hiçbir şekilde bağlamın farkında değildir.
- Değişkenleri manuel olarak ayarladığım için jeneratörün kenar durumlar için üretilip üretilmediğini anlamak zor. Bu yöntem, bir düzine örnek dosya oluşturmaktan benden daha iyi değil.
Bunu yapmanın daha iyi yolları var mı?
EDIT: Aslında demek istediğim için birim entegrasyon olarak değiştirildi.
EDIT2: Burada bahsettiğim son durumlara bir örnek.
Her dosya, köşe ve kenarlardan oluşan bir grafiği temsil eder. Bu köşeler ve kenarlar farklı şekillerde eklenebilir, bu nedenle:
v1 -- e1 --> v2 <-- e2 -- v3
farklı
v1 -- e1 --> v2 -- e2 --> v3
kenarların yönü önemlidir. Bunun soru kapsamında olup olmadığından emin değilim, ancak köşe sayısını, kenar sayısını manuel olarak ayarladığımda ve sadece bağlantıları rastgele oluşturduğumda ilgili tüm kenar durumlarını düşünmek zor.
FileReader
uygulamada tetiklenebilecek uç vakalara dayanarak )? Örnek: görüntü dosyası formatlarında bulunan kenar durumlar göz önüne alındığında, her tablo girişi için, özelliklerin satır / sütun kombinasyonu destekleniyorsa, bu kombinasyonu kapsayan en az bir test durumu (veri dosyası) olmalıdır.