Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tasarım kuralları, uygun tasarıma ve iyi uygulamalara uygun test paketleri oluşturmanıza ve sürdürmenize yardımcı olur. Bu kurallar test yapısına, en iyi yöntemlere ve sürdürülebilir test koduna yol açan yaygın desenlere odaklanır.
Bu kategorideki kurallar
| Kural Kimliği | Başlık | Severity | Düzeltme Mevcut |
|---|---|---|---|
| MSTEST0004 | Genel türler, test sınıfları olarak tanımlanmalıdır. | Bilgi | Yes |
| MSTEST0006 | ExpectedException özniteliğinden kaçının. | Bilgi | Yes |
| MSTEST0015 | Test metodu ihmal edilmemelidir. | Hiçbiri (seçmeli) | Hayı |
| MSTEST0016 | Test sınıfı test yöntemine sahip olmalıdır. | Bilgi | Hayı |
| MSTEST0019 | Oluşturucular yerine TestInitialize'i tercih edin. | Hiçbiri (seçmeli) | Yes |
| MSTEST0020 | Oluşturucuları TestInitialize yerine tercih edin. | Hiçbiri (seçmeli) | Yes |
| MSTEST0021 | TestCleanup yerine Dispose'ı tercih edin. | Hiçbiri (seçmeli) | Yes |
| MSTEST0022 | Dispose yerine TestCleanup'ı tercih edin. | Hiçbiri (seçmeli) | Yes |
| MSTEST0025 | Assert.Fail'i daima yanlış olan koşullar yerine tercih edin. | Bilgi | Yes |
| MSTEST0029 | Public yöntemi test yöntemi olmalıdır. | Bilgi | Yes |
| MSTEST0036 | Gölgelendirme kullanmayın. | Uyarı | Hayı |
| MSTEST0044 | DataTestMethod yerine TestMethod'i tercih edin. | Bilgi | Yes |
| MSTEST0045 | Zaman aşımı için işbirliğine dayalı iptali kullanın. | Bilgi | Yes |
| MSTEST0066 |
[Ignore] bir gerekçe belirtmelidir. |
Bilgi | Hayı |
Yaygın senaryolar
Test sınıfı yapısı
Test sınıfları oluştururken, bu kurallar uygun tasarımın sağlanmasına yardımcı olur:
- MSTEST0004: Yardımcı sınıfları dahili tutun, yalnızca test sınıfları genel olmalıdır.
- MSTEST0016: Test sınıflarının en az bir test yöntemi içerdiğine emin olun.
- MSTEST0029: Test sınıflarındaki genel yöntemler test yöntemleri olmalıdır.
Başlatma kalıpları
MSTest hem oluşturucuları hem de TestInitialize yöntemlerini destekler. Bu birbirini dışlayan kurallar tutarlı bir desen uygulamanıza olanak sağlar:
- MSTEST0019: Başlatma için TestInitialize'ı zorunlu kılma (zaman uyumsuz senaryolar için kullanışlıdır).
- MSTEST0020: Oluşturucuları başlatma için zorunlu kılma (salt okunur alanlar için daha iyi).
Temizleme desenleri
Benzer şekilde Dispose ile TestCleanup arasında seçim yapın:
- MSTEST0021: Temizleme için Dispose düzenini zorunlu kılma.
- MSTEST0022: Temizleme için TestCleanup'ı zorunlu kılma.
Daha iyi onaylar
- MSTEST0006: Daha iyi duyarlık için [ExpectedException] yerine Assert.ThrowsExactly kullanın.
- MSTEST0025: Assert.IsTrue(false) yerine Assert.Fail kullanın.
Test kalitesi
- MSTEST0015: Yok sayılan testleri işaretleme (isteğe bağlı kural).
- MSTEST0036: Temel sınıf üyelerini gölgelendirmekten kaçının.
- MSTEST0044: Veri temelli test gerekmiyorsa TestMethod kullanın.
- MSTEST0045: Zaman aşımı işleme için iptal belirteçlerini etkinleştirin.
-
MSTEST0066: üzerinde
[Ignore]bir gerekçe iletisi sağlayın.