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

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • Canal TekZoom

    Canal TekZoo

    1 NİSAN 2012
  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009