Entegrasyon testi sahte kullanıyor mu?


24

Şu anda, yarıyıl projemiz için birim testi ve entegrasyon testi gibi üzerinde çok sayıda test yapmak zorunda olduğumuz yazılım testi için bir sınıftayım. Entegrasyon testi için profesör, entegrasyon testimiz için alaycı ve alaycı kütüphaneler (EasyMock ve Mockito gibi) kullandığını söyledi. Ancak kafam oldukça karıştı. Entegrasyon testi, sınıfları, modülleri, hizmetleri vb. Dışında test ediyor. Birden çok sınıfı ve hizmeti test ediyorsanız, alay ve taslaklar neden entegrasyon testinde kullanılmaya uygun olur?


8
"Bütünleşme" ve "Birim" testleri evrensel olarak kabul edilmez. Profesörünüze bu terimleri tam olarak nasıl tanımladıklarını sormanız en iyisidir.
RubberDuck

1
Sadece bir yorum. Entegrasyon testi, bağımlılıkları test etmekle ilgili değildir., Kodun bağımlılıklar ile doğru entegrasyonunu test etmekle ilgilidir (çağrılar, yanıt ve hata yönetimi vb.).
Laiv,

Yanıtlar:


25

Birkaç harici bileşene dokunan bir işlevselliğe sahipseniz, belirli bir bileşeni izole etmek ve test etmek için hepsinden başka bir şeyle alay edebilirsiniz. Örneğin, bir web servisini çağıran bir fonksiyonun olduğunu ve ardından sonuçları temel alan bir veritabanıyla bir şey yaptığınızı varsayalım. Üç entegrasyon testi yazabilirsiniz:

  1. web servis çağrısı ile alay eden ancak gerçek veritabanı bağlantısını içeren bir test.
  2. Gerçek bir web hizmeti araması yapan ancak sahte veritabanı bağlantısı kullanan bir test.
  3. Gerçek bir web servis araması yapan ve gerçek bir veritabanı bağlantısı içeren bir test.

Üç sınamayı da çalıştırırsanız ve 1 ve 3 başarısız olursa, kodunuzda veritabanıyla çalışan bir hata olabilir, çünkü geçen tek test sahte veritabanı bağlantısını kullanan testtir.

Genel olarak, entegrasyon testleri alay kullanmaz, ancak bazen böyle bir şey yaptım.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.