Condividi tramite


MSTEST0008: il metodo TestInitialize deve avere un layout valido

Proprietà valore
ID regola MSTEST0008
Title Il metodo TestInitialize deve avere un layout valido
Categoria Utilizzo
La correzione causa un'interruzione o meno Non causa un'interruzione
Abilitata per impostazione predefinita
Gravità predefinita Avviso
Introdotto nella versione 3.3.0
Esiste una correzione del codice

Causa

Un metodo contrassegnato con [TestInitialize] deve avere un layout valido.

Descrizione regola

I metodi contrassegnati con [TestInitialize] devono seguire il layout seguente per essere validi:

  • deve essere public
  • non deve essere abstract
  • non deve essere async void
  • non deve essere static
  • non deve essere un metodo speciale (finalizzatore, operatore...).
  • non deve essere generico
  • non deve accettare alcun parametro
  • il tipo restituito deve essere void, Task o ValueTask

Il tipo che dichiara questi metodi deve rispettare anche le regole seguenti:

  • Il tipo deve essere class.
  • class deve essere public o internal (se il progetto di test usa l'attributo [DiscoverInternals]).
  • class non deve essere static.
  • Se class è sealed, deve essere contrassegnato con [TestClass] (o un attributo derivato).

Come correggere le violazioni

Assicurarsi che il metodo corrisponda al layout descritto in precedenza.

Quando eliminare gli avvisi

Non escludere un avviso da questa regola. Se si ignora questa regola, le istanze contrassegnate verranno ignorate o genereranno un errore di runtime.