MSTEST0009: O método TestCleanup deve ter layout válido

Propriedade Valor
ID da regra MSTEST0009
Título O método TestCleanup deve ter layout válido
Categoria Uso
Correção interruptiva ou sem interrupção Sem interrupção
Habilitado por padrão Sim
Gravidade padrão Aviso
Introduzido na versão 3.3.0
Há uma correção de código Sim

Causa

Um método marcado com [TestCleanup] deve ter um layout válido.

Descrição da regra

Os métodos marcados com [TestCleanup] devem seguir o seguinte layout para serem válidos:

  • deve ser public
  • não deve ser abstract
  • não deve ser async void
  • não deve ser static
  • não deve ser um método especial (finalizador, operador...).
  • não deve ser genérico
  • não deve tomar nenhum parâmetro
  • o tipo de retorno deve ser void, Task ou ValueTask

O tipo que declara esses métodos também deve respeitar as seguintes regras:

  • O tipo deve ser um class.
  • O class deve ser public ou internal (se o projeto de teste estiver usando o atributo [DiscoverInternals]).
  • O class não deveria ser static.
  • Se class for sealed, deverá ser marcado com [TestClass] (ou um atributo derivado).

Como corrigir violações

Certifique-se de que o método corresponda ao layout descrito acima.

Quando suprimir avisos

Não suprima um aviso nessa regra. Se você ignorar esta regra, as instâncias sinalizadas serão ignoradas ou resultarão em um erro de runtime.