Condividi tramite


MSTEST0013: il metodo AssemblyCleanup deve avere un layout valido

Proprietà valore
ID regola MSTEST0013
Title Il metodo AssemblyCleanup 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
È presente una correzione del codice

Causa

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

Descrizione regola

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

  • deve essere public
  • deve essere static
  • non deve essere async void
  • non deve essere un metodo speciale (finalizzatore, operatore...).
  • non deve essere generico
  • non deve essere astratto
  • non deve accettare alcun parametro, oppure, a partire da MSTest 3.8, può avere un singolo parametro TestContext.
  • 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 una classe.
  • La classe deve essere pubblica o interna (se il progetto di test usa l'attributo [DiscoverInternals]).
  • La classe deve essere contrassegnata con [TestClass] (o un attributo derivato)
  • la classe non deve essere generica

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.

Eliminare un avviso

Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .

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

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.