SORU
20 Temmuz 2012, Cuma


NUnit'in İddia.Eşittir istisna " atar;İddia.İddialar" kullanılmamalıdır eşittir;

Geçenlerde Onaylama yöntemini kullanmaya çalıştı.() Eşittir yeni NUnit testi yazarken. Gerçekleşmesi durumunda, bu yöntem AssertionException belirten atar Assert.Equals should not be used for Assertions. Bu biraz ilk bakışta anlamak güç. Burada neler oluyor?

CEVAP
20 Temmuz 2012, Cuma


Assert statik bir sınıf Sistemi tanımış olursunuz.Tüm derslere örtülü olarak c gibi nesne,#. Sistem.Nesne aşağıdaki yöntemi kullanır:

static bool Equals(object a, object b)

Eşitlik karşılaştırması için tasarlanmıştır İddia üzerine yöntemleri Assert.AreEqual() yöntemlerdir. Bu nedenle, Object.Equals() yöntemi bir birim test sınıf Savunmak istemek, kesinlikle bir hatadır. Bu hatayı önlemek ve karışıklığı önlemek amacıyla, NUnit geliştiriciler Object.Equals bir istisna atar bir uygulama ile sınıf Savunmak kasıtlı olarak gizlenmiş. İşte uygulama:

/// <summary>
 /// The Equals method throws an AssertionException. This is done 
 /// to make sure there is no mistake by calling this function.
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 [EditorBrowsable(EditorBrowsableState.Never)]
 public static new bool Equals(object a, object b)
 {
     // TODO: This should probably be InvalidOperationException
     throw new AssertionException("Assert.Equals should not be used for Assertions");
 }

Tabii özel durum iletisi kendisi kafa karıştırıcı, ama en azından yaptığın sana önceden haber verirbir şeyyanlış.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS Campus Life

    ASUS Campus

    18 Mart 2013
  • kev5124

    kev5124

    9 Kasım 2008
  • Rayone GB

    Rayone GB

    14 Temmuz 2007