2012-05-31 15 views
6

Ho un codice che utilizza la funzionalità di stampa Swing/AWT che voglio testare. Usa la finestra di dialogo di stampa nativa dei sistemi, ma c'è un modo per far intercettare la JVM e sostituirla con una simulazione durante il test dell'unità in modo da ottenere una copia dell'immagine che verrebbe stampata?Test unitari per la stampa in Java Swing

Il mio codice per la stampa è semplice e si presenta più o meno così:

 Printable printable = getPrintable(); 

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

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

ho usato FEST per i miei altri test GUI, ma non sembra avere alcun supporto per prove di stampa. È ancora possibile farlo o dovrò scrivere la documentazione di test che implica dire al QA di controllare la stampante?

risposta

2

Partenza mia biblioteca di stampa: http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

È possibile creare uno StandardPrint e generare immagini per ogni pagina che verrà reso

+1

+1 interessante, (può tranquillamente ignorare) il tempo di muovere le goldeggs a java6 – mKorbel

+0

Dovrò vedere se riesco a farla franca usando il tuo metodo di anteprima. Sono * supposto * che stia facendo un test di integrazione completo, ma questa sembra essere la migliore soluzione tecnica disponibile per il mio problema di processo. –