SORU
2 Temmuz 2010, Cuma


Eğer kodu birim testinin bir parçası olarak çalışıp çalışmadığını belirlemek

Birim testi (nUnit) var. Arama yöntemi yığın aşağı katmanlara eğer birim testi ile çalışıyorsa başarısız olur.

İdeal olarak ayarlamak için bu yöntemi ama bu 3. parti kod ve bir sürü iş olmadan bunu yapamam bağlı olarak nesne alay etmek gibi bir şey kullanmak istiyorsunuz.

Kur nUnit özel yöntemler istemiyorum - çok yüksek seviye burada ve birim test yapmanın bir kötü yol vardır.

Ne yapmak istiyorum yerine çağrı yığını içinde bu derin gibi bir şey eklemek

#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
   {
   // Do some setup to avoid error
   }
#endif

Yani İsRunningİnUnitTest yazma hakkında bir fikriniz var mı?

P. S. ben bu harika tasarım değil, ama ben tam olarak farkında değilimdüşünüyorumdaha iyi bir alternatif.

CEVAP
2 Temmuz 2010, Cuma


Bunu daha önce de yaptım - bunu yaptım yaparken burnumu tutmak zorunda kaldım, ama başardım. Pragmatizm dogmatizmden her zaman yener. Varsa tabiigüzel bir şekilde bunu önlemek için yeniden olabilir, bu harika olurdu.

Vardı aslında bir "UnitTestDetector" NUnit çerçeve derleme geçerli Uygulama yüklü olup olmadığını kontrol eden sınıf. Sadece bunu yapmak için gerekli, o zaman sonuç önbellek bir kere. Çirkin, ama basit ve etkili.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • guau . .

    guau . .

    25 Ocak 2008
  • Matt Steffanina

    Matt Steffan

    1 EYLÜL 2011
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008