2011-11-16 24 views
5

Burada nasıl ilerleyeceğiniz hakkında bazı tavsiyelerde bulunmak.Entegrasyon Testi Test Veritabanı ile Zincirli WCF Servisleri

Diğer wcf hizmetlerini çağıran wcf hizmetlerinde bazı entegrasyon testleri yapmaya çalışıyorum. Birbirleri arasında doğru bir şekilde yapılandırıldığından emin olmak istiyorum. Şu anda spring.net ve Nhibernate kullanıyoruz. Emin değilim, veritabanına bir şey kaydetmeden veritabanının güncellenmekte olup olmadığını kontrol etmektir.

Burada test etmeye çalıştığım hem msmq hem de wshttp hizmetlerine sahibim. İşlemleri, ilkbaharda kullandığımız gibi, aşina olduğum için, ancak testleri doğrudan entegrasyon testi ile test edilmeyen bir hizmette geri almak için testlerimi nasıl kuracağımı bilmiyorum.

Şu anda bulduğum tek seçenek bir test veritabanı ve test verileri kullanmaktır, ancak bundan daha iyi bir çözüm olması gerektiği görülüyor.

+3

Neden ** test ** veritabanı yerine yazılımınızı ** üretim ** veritabanında ** test ** yapmayı tercih edersiniz? – CodeCaster

+0

Belki de beni yanlış mı düşünüyorsun? Şimdiye kadar bulduğum tek seçenek, bir test veritabanı ve test verisi oluşturmaktır. –

+1

Tüm hizmetlerinizi aynı veritabanını kullanıp aynı SessionFactory işlevini paylaşacak şekilde kurar mısınız? – Marijn

cevap

0

Uygulamaya özel bir uygulama yapmaya karar verdim. Temel olarak bir test veritabanı oluşturmak ve uygulamamızın, servis veritabanımıza aktarılan bazı değerlere dayanarak test veritabanına ulaşması.

0

Belki, Moq gibi bir şey kullanarak veritabanı (veya DAL katmanı) güncelleştirmek veritabanına çağrıyı önlemek ve veritabanına çağrı yapılacağı mock doğrulamak yöntemi ile kontrol hizmetlerini alay edebilir. Projemizde bu kütüphaneyi wcf ile çok iyi sonuçlarla kullanıyoruz.

+0

Servislerin doğru şekilde bağlanıp bağlanmadığını sınamak istiyorsanız, bu iyi bir fikirdir, ancak bu aslında uygun sql'nin veritabanına gönderileceğini doğrulamaz. Ve bu OP'nin yapmayı amaçladığı şey bence. – Marijn

+0

Belki de veri erişim katmanı alay etmek yerine wcf servisleri hile yapacaktır. Bunun nasıl uygulanacağını bilmiyorum, ancak böyle bir katman mevcutsa, uygun sql'nin çalıştırılmadan yürütülüp yürütülmeyeceğini görmek kolaydır. – Diego

+0

Evet, bunu arayüzleri test ederken yapıyorum. Ancak dolaylı olarak çağrılan hizmette herhangi bir alay gerçekleştirmenin bir yolu yoktur. –

İlgili konular