2013-09-05 23 views
9

gerektirdiği olmasalar bile TÜM TestCaseSources yükler. Bu harika bir araç, ama cevabını göremediğim bir dezavantajı buldum. Tüm entegrasyon testlerim TestCaseSource özniteliğini kullanır ve her bir test için bir test durumu kaynak adı belirtin. Şimdi sorun şu ki bu test durumu kaynaklarının hazırlanması biraz zaman alıyor (~ 1 dk.) Ve tek bir test çalıştırıyorsam, NUnit her zaman test için bir test durumu kaynağı olmasa bile HER SINGLE test durumu kaynağını yükler. Ben koşuyorum. NUnit - onlar Geçenlerde benim proje için entegrasyon test yapmak NUnit kullanarak başlangıç ​​akımı testi

bu davranış Değiştirilebilir böylece yükü koşuyorum test için sadece test durumu kaynağı (ler)? Yeni bir test oluşturmak istediğimde her zaman yeni meclisler yaratmaktan kaçınmak istiyorum (farklı meclislerde yapılan testlerin ayrı ayrı yüklendiğini okuduğumdan, oldukça gereksiz ve hantal, anlaşılması zor görünüyor), ama ben yapmadım. Test durumu kaynaklarından haberdar olma. Resharper'ı test koşucusu olarak kullanıyorum.

TL; DR: yalnızca mevcut oturumda çalışan testler için gerekli olan TestCaseSources yüklemek için NUnit anlatmaya İhtiyacı. Geçerli davranış, çalıştırılan herhangi bir sınama için ALL TestCaseSources yüklenir.

+0

geçerli davranışı gösterir bazı kod sağlayabilir [Setup] geçerli paketi için ihtiyaç sadece yardımcı yöntemleri çağırmak? –

+0

Elbette, asıl sorumu kısa bir süre içinde düzenler ve kullandığım kodu ekleyeceğim. – Anshul

+0

Bu benim için davranış gösterir - VS2013 üzerinde ReSharper 6 çalıştıran. Biçimlendirme için özür dilerim - Ben bir cevap-cevap olarak göndermek istemedim. 'TestWhichIAmNotRunning' çalıştırmıyor olsam bile, ReSharper sonsuza kadar' 1 '(neredeyse) dönecek olan' InfiniteValues ​​'değerlendirecek. - - - - - genel statik IEnumerable InfiniteValues ​​{get {while (DateTime.Now! = DateTime.MinValue) getiri geri dönüşü 1; }} [Test, TestCaseSource ("InfiniteValues")] public void TestWhichIAmNotRunning (int değer) {} ' –

cevap

1

Bunun bir yardımcı yönteme kaynaklarınızdır örnekleme hareketli ve testlerin her set için kurulum yöntemleri diyoruz tarafından yapabilir misin? Sıklıkla farklı testler için paylaşılan veriler ayarlayan bir entegrasyon test kitim içinde bir dizi yardımcı yöntemleri kullanıyorum. Ben

+0

Bunu yapabilirdiniz, ancak daha sonra test vaka kaynaklarını yöntemlere atamak için TestCaseSource özniteliğini nasıl kullanırsınız? TestCaseSource özniteliğini kullanmayı hedefledim çünkü nesne dizisini parametre dizisi çevirisine göre hallediyor ve daha modüler hale getirmeyi test ediyor. – Anshul

+0

İyi bir fikir gibi görünüyor, ancak TestCase kaynak özniteliği ile çalışmaz. Bunu da test sınıfının yapıcısına taşımaya çalıştım ama TestCaseSource çok erken değerlendirilmiş gibi görünüyor. Bu, veritabanından eşlenen TestCaseSources kullanan tümleştirme testleri için gerçek bir acıdır. –