2012-05-31 16 views
6

Tengo un código que usa la funcionalidad de impresión Swing/AWT que quiero probar en una unidad. Utiliza el diálogo de impresión nativa del sistema, pero ¿hay alguna forma de que la JVM lo intercepte y lo reemplace con un simulacro durante la prueba unitaria para que pueda obtener una copia de la imagen que se imprimirá?Pruebas unitarias para impresión en Java Swing

Mi código para la impresión es sencillo y se ve más o menos así:

 Printable printable = getPrintable(); 

    PrinterJob printJob = PrinterJob.getPrinterJob(); 
    printJob.setPrintable(printable); 

    if (printJob.printDialog()) 
    { 
     try 
     { 
      printJob.print(); 
     } 
     catch (PrinterException exception) 
     { 
      ... 
     } 
    } 

He estado usando FEST para mis otras pruebas GUI pero no parecen tener ningún apoyo para las pruebas de impresión. ¿Esto es incluso posible de hacer, o tendré que escribir la documentación de prueba que implica decirle a QA que revise su impresora?

Respuesta

2

Compruebe hacia fuera mi biblioteca de impresión: http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

Se puede crear un StandardPrint y generar imágenes de cada página que se rindió

+1

1 interesante, (bastante puede ignorar) tiempo para mover los goldeggs a java6 – mKorbel

+0

Tendré que ver si puedo usar el método de vista previa. Se supone que * estoy haciendo una prueba de integración completa, pero esta parece ser la mejor solución técnica disponible para mi problema de proceso. –