MSTEST0012: o método AssemblyInitialize deve ter um layout válido

Propriedade Valor
ID da regra MSTEST0012
Título O método AssemblyInitialize deve ter um 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 [AssemblyInitialize] deve ter um layout válido.

Descrição da regra

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

  • não pode ser declarado em uma classe genérica
  • deve ser public
  • deve ser static
  • não deve ser async void
  • não deve ser um método especial (finalizador, operador...).
  • não deve ser genérico
  • deve receber um parâmetro do tipo TestContext
  • 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 uma classe.
  • A classe deve ser pública ou interna (se o projeto de teste estiver usando o atributo [DiscoverInternals]).
  • A classe não deve ser estática.
  • A classe deve ser marcada com [TestClass] (ou um atributo derivado)
  • a classe não deve ser genérica

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.