2010-07-27 12 views
6

supongamos que tengo un proyecto con muchos todos, algunos sin querer dejaron allí, algunos ya no son relevantes, algunos representan posibles funciones futuras, etc.cómo integrar el manejo de TODO en la fase de prueba de maven?

Sé que la mayoría de los IDEs pueden mostrarlos/filtrarlos/clasificarlos, pero estoy buscando una forma de hacer cumplir una política más estricta.

Lo que busco es un plugin maven que pueda vincular a la fase de prueba que busca TODOs de un formato específico (por ejemplo // TODO-Ver ...) y, si se encuentran, genera una prueba falla (que luego sería visible a través de Hudson, se enviarán correos electrónicos, se dispararán alarmas, se activarán las cabezas, etc.).

esta ejecución adicional estaría vinculada a la fase de prueba bajo algún perfil que solo se activará cerca del final del ciclo de desarrollo o algo así.

mi pregunta es si alguien ha hecho algo así antes? ¿Qué herramientas de inspección de código se pueden adaptar para buscar TODO por regexp, y qué complemento maven se puede utilizar para ejecutar dichas herramientas de inspección? ¿Es posible hacerlo desde una prueba unitaria? cualquier comentario/idea/sugerencia sería bienvenido.

+1

Es mejor generar un informe que fallar en una prueba o compilación. Este último hará que tus desarrolladores eliminen todos los TODO para que una construcción tenga éxito. Imagine la diversión cuando los TODOs faltantes deben ser contabilizados; Sí, se enviarán correos electrónicos, se activarán las alarmas, se dispararán las cabezas, etc. pero un poco tarde. –

Respuesta

3

Checkstyle puede hacer eso (véase el cheque TodoComment) y se podía utilizar el maven checkstyle plugin y su objetivo checkstyle:check para comprobar el código y fallar la estructura en caso de violación (por lo general durante la fase verify).

+0

falla la construcción es un poco demasiado radical para mi gusto, pero si no encuentro nada más, definitivamente miro ese plugin – radai

+1

@ hatchetman82: Bueno, hablaste de tirar cabezas, no a mí :) Y si quieres que Hudson te envíe correos electrónicos, debe fallar la compilación. De todos modos, puede configurar el complemento a ['failOnViolation'] (http://maven.apache.org/plugins/maven-checkstyle-plugin/check-mojo.html#failOnViolation) o no. También puede optar por generar un informe en su lugar. Tu decides. –

Cuestiones relacionadas