Pregunta

Estoy usando AbstractTransactionalSpringContextTests para ejecutar las pruebas de interacción con la primavera. El contexto de resorte se carga una sola vez y luego se ejecutan todas las pruebas. ¿Cómo puedo hacer lo mismo si quiero que mis pruebas sean en muchas clases y paquetes.

Por supuesto, el contexto de primavera deben cargarse sólo una vez por todas mis pruebas (en todas las clases y paquetes), y no una vez por clase o paquete.

¿Fue útil?

Solución

A medida que el Javadocs para AbstractSingleSpringContextTests (una de las superclases de AbstractTransactionalSpringContextTests) Estado:

  

Esta clase caché contextos en base a una clave de contexto: normalmente la configuración de ubicaciones de tipo Alfa describir los descriptores de recursos primavera que componen el contexto. A menos que el método setDirty () es llamado por una prueba, no se volverá a cargar el contexto, incluso a través de las diferentes subclases de esta prueba. Esto es particularmente beneficioso si su contexto es lento para construir, por ejemplo, si está usando Hibernate y el tiempo necesario para cargar las asignaciones es un problema.

Su contexto se almacena en caché, por lo que todas las demás pruebas que se ejecutan dentro del mismo cargador de clases (es decir, - todas las otras pruebas que se ejecutan durante la misma ejecución del ensayo) utilizarán el contexto en caché. No es necesario hacer ninguna configuración adicional - que se debe hacer para que ya. Si no está seguro acerca de esto, o si desea solucionar, simplemente encienda el registro para org.springframework y debería ver un montón de registro útil acerca de cuando se está cargando el contexto, qué archivo, cómo; etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top