Bu WebAPI projesi üzerinde çalışıyorum ve bunun için birim testleri oluşturmam gerekiyor. Projenin tabanı VS 2010 kullanılarak oluşturuldu ve ardından bir WebApi Modülü eklendi.C# WebApi Ünitesi Test ve Alay Denetleyicileri
Kontrol ünitesinin çalışmaları test/alay etme yolunda ilerliyor. XUnit ve Moq kullanıyorum, ancak bu ikisi ile kesinlikle uğraşmaya gerek yok.
uygulama veritabanı erişimi ile başa çıkmak için belirli nesneleri kullanır, bu yüzden controllerObject var ve bunun contructor DataAccessObject
Ben kontrolör/DataAccess çifti alay ile sorun yaşıyorum gerektirir. Çalıştırmaya çalıştığım ilk test bir GetAllFromDataBase'tir, ancak gerçekten nasıl yapılacağına dair bir ipucum yok.
DÜZENLEME: Cuong Le söyledi ve bütün artık hareket ediyor ne yaptı
, gerçekten apreciate. Ama başka bir problemle karşılaştım. API'ye erişmek için bir kullanıcı adı/şifre çifti var ve denetleyicim Thread.CurrentPrincipal.Identity.Name; Şu anda bu değeri tam olarak çalışmam için tahmin etmem gerekecek. Ayrıca
valueServiceMock.Setup (hizmet => service.GetValues ()) .Returns (yeni [] { "deger1", "deger2"});çalışmıyor gibi görünmektedir. kod veritabanına ulaşmaya çalıştığında ve
Sen denetleyici alay etmesin, sen dalga geçeyim kontrolörün ihtiyaç duyduğu hizmetler. Eğer kontrolöre alay olsaydınız, kontrolörü test etmezdiniz. Bütün nokta bu. Bu gönderiye bir göz atın: http://www.peterprovost.org//blog/2012/06/16/unit-testing-asp-dot-net-web-api/ – tugberk
Sahte nesnenin üzerinden geçtiğini kontrol ettiniz mi? Bunun gibi kurucu: var controller = new ValuesController (valueServiceMock.Object); –