Test amacıyla OperationContext
sınıfına uymak istiyoruz. Biz 'Mock' kullanıyoruz. Ancak OperationContext
mühürlü bir sınıftır ve alay edilemez. Bu nedenle, bir dummy OperationContext
nesnesini oluşturmaya çalışıyoruz. Ancak OperationContext
yapıcısı, parametre olarak IContextChannel
alır. IContextChannel
'u tutmanın bir yolunu bilmek istiyoruz, böylece OperationContext
yapıcısına iletilebilir.WCF Veri Hizmetleri: Mocking OperationContext
cevap
NetFX project, yalnızca bu tür bir şeye izin vermek için bir dizi sarıcı sınıfı ve arabirim içerir.
Genel öneri implement wcf services without referencing wcf içindir. bunu nasıl
Örnekler http://marcin.floryan.pl/blog/2012/01/do-we-really-need-wcfmock
Biz operationResponse referansı ile OperationContext bir başvuru yerini bulunmaktadır. OperationResponse, arayüzü olarak tanımlanmalı ve deposunda verilen örnekte olduğu gibi yapıcıya enjekte edilebilir. Test yöntemimiz şimdi biraz daha kısa ve daha okunabilir hale gelir.
Ve
Alternatif son bir başvuru olarak WCFmockLet en http://blogs.msdn.com/b/ploeh/archive/2006/12/04/integrationtestingwcfservices.aspx yılında
, bir an için, yetkilendirme gerçekleştirmek için ihtiyaç düşünün. , işlem uygulamalarınızın her birinde OperationContext.Current'ı doğrudan denetleyebilir, ancak bu endişeleri (yetkilendirmeyle birlikte karıştırılan işlemde uygulanan iş mantığı) olacaktır. doğru yolu ServiceAuthorizationManager bir sınıf türetmek sağlamak ve yetkilendirme için bu sınıfını kullanacak şekilde yapılandırabilirsiniz olacaktır. Bu Eğer birim test tutmak için izin senin operasyonun uygulamaları, ama belli ki, ayrıca yetkilendirme yöneticisi kendisi test etmek gerekir ve bunun entegrasyon test bu görevi başarmak için en kolay yolu olduğu ortaya çıktı ederim. Hala http://blogs.msdn.com/b/ploeh/archive/2008/06/28/unit-testing-duplex-wcf-services.aspxbir öneri izleyin sahte gerekiyorsa
yapmanız gereken tek şey soyut bir ile çağrı toOperationContext.GetCallbackChannel değiştirmektir. .NET 3.5 günü, en kolay soyutlama aynı imzası Func, ama .NET 3.0 üzerinde ise, her zaman kendi benzer temsilci türü tanımlayabilirsiniz.
#if DEBUG
using WebOperationContext = System.ServiceModel.Web.MockedWebOperationContext;
#endif
Eğer gelişiminde alay sürümünü kullanmak istiyorsanız bu örneğin kullanışlıdır ve üretimde daima WCF sürümünü kullanabilirsiniz.Hepsi bu kadar, sen bu takma adı tanımlanmış kez hiç mevcut hizmet uygulaması dokunmak gerekmez , hizmet OperationContext için http://blog.gfader.com/2010/08/how-to-unit-test-wcf-service.html
tüm görüşmelerinden
test edilecek hazır .Current.Channel.SessionId MockedOperationContext tarafından yakalanan olsun, ama sadece sizin testleriniz içinde OperationContext alay ile vardır. Normal ortamınızda bu MockedOperationContext, gerçek OperationContext için bir proxy görevi görür.
- 1. WCF/WCF Veri Hizmetleri/WCF RIA Hizmetleri
- 2. WCF Veri Hizmetleri Güvenlik Seçenekleri
- 3. İstek hatası WCF Veri Hizmetleri
- 4. WCF Veri Hizmetleri: __metadata üyelerinden nasıl korunulur?
- 5. current OperationContext, WCF Windows Service'de sıfırdır.
- 6. WCF Veri Hizmetleri hatası "Belirtilen ad 'Foo' varlık kümelerinde bulunamadı"
- 7. Çoklu WCF Hizmetleri (kendiliğinden barındırılan)
- 8. WCF: OperationContext kullanarak REST ve SOAP isteklerini ayırt etme
- 9. Uygulama WCF API (istirahat Hizmetleri) yarattık 4.0
- 10. Wcf Veri Hizmeti: Bir Wcf veri hizmeti var
- 11. Mocking Yansıma tabanlı çağrılar
- 12. Rhino Mocks: Mocking HttpRequestBase.Files
- 13. Oyunda Mocking! ve Scala
- 14. WCF Ajax Hizmetleri için nasıl bir fikir sahibi olurum?
- 15. OtomatikMapper'ı WCF Veri Hizmetleri ve EF4 ile Entegre Etmeye Yönelik En İyi Uygulamalar
- 16. Mocking ChildProperty işe yaramaz mı?
- 17. WCF Veri Hizmetini nasıl doğrularım?
- 18. WCF RIA Hizmetleri çerçevesinde etki alanı hizmetleri arasındaki varlıklar nasıl paylaşılır?
- 19. ADO.NET Veri Hizmetleri Linq-to-SQL ile
- 20. WCF-RIA Hizmetleri İstemcisi OutputCache - IE ile çalışmıyor localhost
- 21. Raporlama Hizmetleri LocalReport ve WIF
- 22. Mocking System.Web.Caching.Cache - Boşluk veya boş için denetle?
- 23. INotifyPropertyChanged WCF DataContracts
- 24. Özel sınıf WCF Veri Hizmeti'nden döndürülemiyor
- 25. dönen veri kümeleri REST/WCF hizmeti
- 26. WCF Veri Servisleri ve Kendini İzleme Varlıkları
- 27. WCF veri hizmeti [WebGet] tarihsaat parametreleri
- 28. WCF
- 29. WCF
- 30. Ana Veri Hizmetleri verileri nasıl kullanılır? MDS yaşam döngüsü
Sarıcı sınıflarının isimlerini verebilir misiniz? Bağlantıdaki belgeleri göremedim. –