2009-01-19 21 views
5

Utilizamos FxCop para todos nuestros proyectos. Para nuestros UnitTests no estoy seguro de que valga la pena. Terminamos con muchas supresiones:¿Deberíamos usar FxCop en ensamblajes UnitTest?

[SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Justification = SuppressJustifications.CA1822MethodIsUsedExternallyAsNonStatic)] 
[SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", MessageId = "Cantaloupe.Seed.Security.RijndaelEncryption", Justification = SuppressJustifications.CA1806MethodIsCalledForExceptionThrowingTest)] 

¿Cuáles son las opiniones de las personas sobre FxCop en el código de prueba de la unidad?

Respuesta

5

Cuando enseño nuestra prueba unitaria/clase TDD, generalmente les pido a las personas que escriban el código de prueba siguiendo los mismos principios que cuando escriben código de producción prober. Sin embargo, reconozco que algunas de las reglas de FxCop pueden generar demasiado ruido.

¿No podría usar un subconjunto adecuado de las reglas de FxCop para el código de prueba?

2

no vale la pena el esfuerzo; FxCop es para los estándares de codificación de producción, no para el código de prueba interna

(sin embargo, no hace daño pasarle una y otra vez, en caso de que le diga algo útil ...)

+0

¿Eh? "No vale la pena el esfuerzo" es un poco fuerte, diría yo. ¿Por qué debería tratar el código "interno" con una calidad diferente como código de "producción"? La aplicación de estándares de codificación (de la manera en que FxCop puede hacer) es una parte importante de verificar la exactitud del código, aunque seguramente no es la * más * importante o solo una. –

+0

@ [Christian.K]: es por eso que dije que no hace daño hacerlo de vez en cuando, por las dudas, pero no hay ninguna razón para la conformidad completa de FxCop en el código de prueba de la unidad, o el código desechable, o uno código de utilidad de disparo, et al. Usa tu mejor juicio. –

1

SIGUE si tienes tiempo en tus manos. No es una mala idea hacer que el policía mire todo tu código.

2

Sí, pero no tiene que ser un maníaco al respecto. Tus pruebas son el mejor amigo de tu programador de mantenimiento. Si sus pruebas no son fáciles de leer, su codificador de mantenimiento tendrá dificultades. Creo que ayuda a fomentar mejores hábitos, el código de prueba unitaria no tiene una licencia permisiva para ser descuidado.

Cuestiones relacionadas