Aracılığıyla paylaş


MSTEST0003: Test yöntemlerinin geçerli düzeni olmalıdır

Özellik Değer
Kural Kimliği MSTEST0003
Başlık Test yöntemlerinin geçerli düzeni olmalıdır
Kategori Kullanım
Hataya neden olan veya bozulmayan düzeltme Yeni
Varsayılan olarak etkin Yes
Varsayılan önem derecesi Uyarı (MSTestAnalysisModeRecommended veya Allolarak ayarlanırken hataya yükseltildi)
Sürümde kullanıma sunulmuştur 3.2.0
bir kod düzeltmesi var mı? Yes

Neden

Test yöntemi, gerekli test yöntemi düzeninin tek veya birden çok noktasına uymaz.

Kural açıklaması

Test yöntemleri (özniteliğiyle [TestMethod] işaretlenmiş yöntemler) MSTest tarafından geçerli kabul edilecek şekilde verilen düzeni izlemelidir:

  • bunlar olmalıdır public (veya internal öznitelik ayarlanmışsa [assembly: DiscoverInternals] )
  • bunlar olmamalıdır static
  • MSTest 3.7 veya önceki bir sürüm kullanılıyorsa genel olmamalıdır
  • bunlar olmamalıdır abstract
  • geri dönmeleri void veya Task
  • bunlar olmamalıdır async void
  • özel bir yöntem olmamalıdır (oluşturucu, sonlandırıcı, işleç...)
  • Bu yöntemi belirten tür genel olmalıdır

İhlalleri düzeltme

Test yönteminin yukarıda açıklanan gerekli düzen ile eşleştiğinden emin olun.

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

Bu kuraldan uyarıyı bastırmayın. MSTest bu yöntemi bir test yöntemi olarak değerlendirmeyeceği için bu kuralın yoksayılması testlerin yoksayılmasıyla sonuçlanır.

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.

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

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

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

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