2012-05-31 21 views
6

Mam trochę kodu, który wykorzystuje funkcję drukowania Swing/AWT, którą chcę przetestować w jednostce. Używa systemowego natywnego okna dialogowego drukowania, ale czy jest jakiś sposób, aby JVM przechwyciła to i zastąpiła próbą podczas testów jednostkowych, aby uzyskać kopię obrazu, który miałby zostać wydrukowany?Testy jednostkowe drukowania w Java Swing

Mój kod do drukowania jest prosta i wygląda mniej więcej tak:

 Printable printable = getPrintable(); 

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

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

Używam FEST innych moich testów GUI, ale nie wydaje się mieć żadnego wsparcia dla badań poligraficznych. Czy można to zrobić, czy też muszę napisać dokumentację testową, która wymaga poinformowania działu kontroli jakości, aby sprawdził swoją drukarkę?

Odpowiedz

2

Sprawdź moje biblioteka druk: http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

Można utworzyć StandardPrint i generowania obrazów dla każdej strony, które będą renderowane

+1

+1 interesujący, (dość może zignorować) czas do przenoszenia goldeggs do java6 – mKorbel

+0

Będę musiał sprawdzić, czy uda mi się uciec, używając metody podglądu. Przypuszczam, że * przeprowadzam pełny test integracji, ale wydaje mi się, że jest to najlepsze dostępne rozwiązanie techniczne mojego problemu z procesem. –