Condividi tramite


MSTEST0025: Usare "Assert.Fail" invece di un'asserzione con esito sempre negativo

Proprietà valore
ID regola MSTEST0025
Title Usare "Assert.Fail" invece di un'asserzione con esito sempre negativo
Categoria Progettazione
La correzione causa un'interruzione o meno Non causa un'interruzione
Abilitata per impostazione predefinita
Gravità predefinita Info
Introdotto nella versione 3.4.0

Causa

Questa regola genera una diagnostica quando una chiamata a un'asserzione produce una condizione sempre falsa.

Descrizione regola

Usando Assert.Fail su una chiamata a un'asserzione con esito sempre negativo, si genera un intento più chiaro e una documentazione migliore per il codice.

Quando si trova un'asserzione con esito sempre negativo (ad esempio Assert.IsTrue(false)), non tutti i lettori del codice potrebbero capire immediatamente il motivo per cui l'asserzione sia lì o quale condizione stia cercando di controllare. Questo può portare a confusione e tempo perso per gli sviluppatori che si imbattono nel codice successivamente.

D'altra parte, l'utilizzo di Assert.Fail consente di fornire un messaggio di errore personalizzato, che spieghi con chiarezza il motivo per cui l'asserzione ha esito negativo e a quale condizione o scenario specifico si sta riferendo. Questo messaggio funge da documentazione per l'intento dietro l'asserzione, consentendo ad altri sviluppatori di comprendere lo scopo dell'asserzione senza dover approfondire il codice.

Nel complesso, l'utilizzo di Assert.Fail promuove chiarezza, documentazione e manutenibilità nella codebase, diventando così una scelta migliore rispetto a un'asserzione con esito sempre negativo.

Come correggere le violazioni

Verificare che le chiamate a Assert.IsTrue, Assert.IsFalse, Assert.AreEqual, Assert.AreNotEqual o Assert.IsNotNull non generino condizioni con esito sempre negativo.

Quando eliminare gli avvisi

Non si consiglia di eliminare gli avvisi da questa regola.