SORU
21 EYLÜL 2012, Cuma


Kullanma zamanı Mockito.()doğrulamak

3 amaçlar için JUnit test durumları yazıyorum:

  1. Benim kod gerekli tüm işlevlerini karşılayan sağlamak için, tüm (veya çoğu) giriş/değerleri kombinasyonları altında.
  2. Uygulama değiştirebilirim emin olmak için, ve JUnit test durumları güveniyor tüm işlevselliği hala memnun olduğunu söyle.
  3. Tüm kullanım durumları bir Dokümantasyon olarak benim kod işleme ve yeniden düzenleme için bir spec - kod şimdiye kadar yazılmış olması gereken hareket. (Kod yeniden, ve eğer jUnit testleri başarısız olursa muhtemelen bazı kullanma durumu) kaçırdı.

Neden ya da ne anlamıyorumMockito.() doğrulayınkullanılmalıdır. Gördüğüm zaman() doğrulayınçağrıldığını, benim JUnit uygulanması farkında olmak olduğunu söylemişti. (Böylece benim uygulama değişiyor benim işlevselliği etkilenmemiş olmasına rağmen benim jUnits sonu olurdu).

Arıyorum:

  1. Uygun kullanımı için kurallar ne olmalıdırMockito.() doğrulayın

  2. JUnits haberdar olmak için temelde doğru, ya da sıkı eşleşmiş oldu, test edilen sınıfın uygulama?

CEVAP
22 EYLÜL 2012, CUMARTESİ


Bu harika bir soru. 1.

Eğer sözleşmenin Bir sınıf içerir gerçeğine çağırır yöntemi B nesnesinin type C, daha sonra bu testi yaparak alay tip C ve doğrulama yöntemi B çağrıldıktan.

Bu sınıf, Bir sözleşme C tipi bir arabirim veya bir sınıf olabilir) bahsediyor bu yeterli ayrıntıya sahip olduğunu gösterir. Evet, ötesinde sadece gider belirtim düzeyi bahsediyoruz yani "sistem gereksinimleri" ve gider bir şekilde uygulanmasını tarif eder.

Bu birim testleri için normaldir. Birim test ederken, her birim "doğru olanı", ve genellikle kendi etkileşimleri içeren diğer birimleri ile yapıyor emin olmak için istiyorum "Birim" burada sınıflar anlamına gelebilir, ya da uygulamanızın daha büyük kümeleri.

Güncelleme:

Bu gibi iyi stubbing doğrulama için, ama geçerli olmadığını hissediyorum. Seni işbirlikçi bir sınıf yöntemi saplama bitmez, birim test, bir anlamda, uygulama bağımlı hale geldi. Birim testler tabiatına içinde sayılır. Mockito doğrulama ile ilgili olarak stubbing ilgili olarak az olduğundan, Mockito kullanıyorsun aslında bağımlılık bu tür üzerinde çalıştırmak için gidiyoruz anlamına gelir.

Eğer bir sınıf uygulanması değiştirirsem benim durumumda, ben genellikle birim testleri uygulanması eşleşecek şekilde değiştirin. Tipik olarak, olsa da, orada testler ne envanter değiştirmek zorunda kalmamsınıf için; tabii, bunun nedeni, daha önce test başarısız olduğu bir durumun var olması.

Bu birim testleri hakkında ne olduğunu. İşbirlikçi sınıfları kullanılır yolda bağımlılık bu tür muzdarip olmayan bir test gerçekten alt sistem testi entegrasyon testi. Tabii ki, bu sık sık JUnit ile de yazılır ve sık sık alay kullanımını içerir. "JUnit" berbat bir isim, bize sağlayan bir ürün için bir test. tüm farklı türleri üretmek benim görüşüme göre,

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009