İngilizce dilinde oku

Aracılığıyla paylaş


MSTEST0025: Her zaman başarısız olan bir onay yerine 'Assert.Fail' kullanın

Özellik Değer
Kural Kimliği MSTEST0025
Başlık Her zaman başarısız olan bir onay yerine 'Assert.Fail' kullanın
Kategori Tasarlama
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
Varsayılan olarak etkin Yes
Varsayılan önem derecesi Bilgi
Sürümde kullanıma sunulmuştur 3.4.0
bir kod düzeltmesi var mı? Yes

Neden

Bu kural, bir onay çağrısı her zaman yanlış koşul ürettiğinde bir tanılama oluşturur.

Kural açıklaması

Assert.Fail Her zaman başarısız olan onay çağrısı üzerinden kullanmak, kod için daha net bir amaç ve daha iyi belgeler sağlar.

Her zaman başarısız olan bir onaylama işlemiyle karşılaştığınızda (örneğin, Assert.IsTrue(false)), onayın neden orada olduğunu veya denetlemeye çalıştığı koşulu okuyan biri için hemen belli olmayabilir. Bu, daha sonra kodla karşılaşan geliştiriciler için karışıklığa ve zaman kaybına neden olabilir.

Buna karşılık, kullanmak Assert.Fail özel bir hata iletisi sağlamanıza olanak tanır ve onaylama işleminin neden başarısız olduğunu ve hangi belirli koşulu veya senaryoyu ele kullandığını net bir şekilde belirtir. Bu ileti, diğer geliştiricilerin kodu derinlemesine incelemeye gerek kalmadan onaylamanın amacını anlamasına yardımcı olarak onaylamanın amacına yönelik belgeler görevi görür.

Genel olarak, kullanmak Assert.Fail kod tabanınızdaki netliği, belgeleri ve sürdürülebilirliği yükselterek her zaman başarısız olan onay çağrısı yerine daha iyi bir seçimdir.

İhlalleri düzeltme

, , Assert.IsTrue, Assert.IsFalseAssert.AreEqualAssert.AreNotEqualveya Assert.IsNull çağrılarının Assert.IsNotNullher zaman başarısız olan koşullar üretmediğinden emin olun.

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

Bu kuraldan gelen uyarıların gizlenmesi önerilmez.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

C#
#pragma warning disable MSTEST0025
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0025

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için önem derecesiniyapılandırma dosyasında olarak ayarlayın.

ini
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0025.severity = none

Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.