Pergunta

Eu gostaria de ter a verificação nightly build para quantas NotImplementedExeptions existem no meu código .NET então espero que possamos removê-los todos antes de liberar. Meu primeiro pensamento é que FxCop pode ser uma boa ferramenta para fazer isso. Alguém tem um costume regra FxCop para isso? Como eu iria sobre a criação de um eu mesmo?

Foi útil?

Solução

Eu realmente implementado um e mostrado o código esta resposta .

Outras dicas

teste de unidade como este irá falhar se mais de 10 métodos de criar NotImplementedException. Em falhando ele irá informar todos os métodos que criam essa exceção.

var throwingMethods = codebase.Methods
  .Where(m => m
         .GetInstructions()
         .Exists(i => i.Creates<NotImplementedException>()))
  .ToArray();

if (throwingMethods.Length > 10)
  CollectionAssert.IsEmpty(throwingMethods);

Onde base de código é criado assim:

var codebase = new Codebase("Assembly1.dll","Assembly2.dll");

trechos usa Lokad.Quality.dll do Lokad bibliotecas compartilhadas .

Há toneladas de recursos na net sobre como fazer sua própria regra FxCop, mas desde 'NotImplementedException' é um nome tão original, você provavelmente poderia apenas fazer uma contagem de sua ocorrência no texto dos arquivos. Criar um ItemGroup para todos os arquivos cs e, em seguida, usar um comando apropriado DOS (como "encontrar / c") e obter a contagem como a saída, via a tarefa EXEC.

Há momentos em que um NotImplementedExeption deve ser jogado -. Um exemplo seria se você tiver uma implementação parcial do IBindingList

abundância de recursos lá fora para criar costume FXCop governa . No entanto, a "encontrar em solução" pode ser uma abordagem adequada (no pressuposto de que você não está precisando isso em uma compilação automatizada)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top