2011-05-05 8 views
11

Me gustaría poder cambiar los enlaces de SLF4J para la prueba unitaria a la versión simple, pero parece que no hay una manera fácil de configurar esto. Básicamente, mi proyecto construido se conecta a un archivo y me gustaría que fuera una consola cuando se prueban las unidades.¿Enlazar o configurar SLF4J alternativo para la prueba unitaria?

He usado el plugin antrun maven antes para hacer algo como esto con los archivos persistence.xml, pero esa solución parece un poco pesada.

¿Hay alguien por ahí que tenga una solución para usar configuraciones o enlaces alternativos en pruebas unitarias?

TIA

+0

¿qué enlace utiliza el proyecto principal? –

+0

Estoy usando la configuración alternativa con éxito. Uso maven y tengo un logback.xml personalizado dentro de prueba/recursos. Estoy seguro de que obtendrás aún más flexibilidad si usas la configuración basada en Groovy. –

+0

Estoy usando log4j para el proyecto construido. – javamonkey79

Respuesta

19

Un mejor enfoque es el de facilitar su marco de registro. La biblioteca de inicio de sesión, por ejemplo, primero busca logback-test.xml y, si no está disponible, busca logback.xml. Si coloca logback-test.xml en /src/test/resources, se seleccionará para pruebas unitarias. En este archivo, configura el registro de la consola en lugar del archivo.

Si usted todavía está utilizando Log4J, simplemente coloque log4j.xml en /src/test/resources - esta carpeta está disponible en la ruta de clase antes/src/main/resources, por lo Log4J lo utilizará en lugar de la versión ordinaria /src/main/resources, sin dejar de cargar la última versión de construcciones final (/src/test/resources ni siquiera está disponible entonces).

+0

Hmm, tal vez mi versión de m2Eclipse es vieja. b \ c Intenté usar vainilla log4j con 2 archivos de propiedades y sigue recogiendo la versión "principal" (al menos esto es lo que se refleja en la carpeta "objetivo"). – javamonkey79

Cuestiones relacionadas