Aracılığıyla paylaş


MSTEST0038: Değer türleriyle 'Assert.AreSame' veya 'Assert.AreNotSame' kullanmayın

Mülk Değer
Kural Kimliği MSTEST0038
Başlık Değer türleriyle 'Assert.AreSame' veya 'Assert.AreNotSame' kullanmayın
Kategori Kullanım
Düzeltmesi bozuk veya hataya neden olmayan Kesintisiz
Varsayılan olarak etkin Evet
varsayılan önem derecesi Uyarı
Versiyon'de tanıtıldı 3.8.0
bir kod düzeltmesi var mı? Evet

Neden

Assert.AreSame veya Assert.AreNotSame'in, bir veya her iki bağımsız değişkenin de bir değer türü olduğu durumlarda kullanılması.

Kural açıklaması

Assert.AreSame ve Assert.AreNotSame, verilen expected/'nın ve gerçek bağımsız değişkenlerin notExpected'sü üzerinden ReferenceEqualsile karşılaştırılarak çalışır. Bu nedenle, bir değer türü geçirdiğinizde,kutulanmış olur.

AreSamekullanılıyorsa, assert ifadesi her zaman başarısız olur. AreNotSamekullanılıyorsa, doğrulama her zaman geçer.

AreSameiçin, onayın geçerli olduğu tek durum, her iki bağımsız değişkenin de null değere sahip null değer türleri olmasıdır. Bu durumda, iki ayrı Assert.IsNull çağrısı yapmak daha net olur.

İhlalleri düzeltme

Assert.AreEqual ve Assert.AreNotEqualyerine Assert.AreSame ve Assert.AreNotSame kullanın. Assert.AreSame kullanılıyorsa ve her iki bağımsız değişken de değerleri null olması beklenen null atanabilir değer türleriyse, testin amacına bağlı olarak iki ayrı Assert.IsNull çağrısı AreEqual'den daha uygun olabilir.

Uyarıların ne zaman bastırılması gerekiyor?

Bu kurala ait uyarıyı gizlemeyin. Bu kuralı yoksaymak, her zaman başarısız olacak veya her zaman başarılı olacak bir doğrulamaya neden olur.