2012-05-31 9 views
6

Ich habe Code, der die Swing/AWT-Druckfunktionalität verwendet, die ich Unit testen möchte. Es verwendet den nativen Druckdialog des Systems, aber gibt es irgendeine Möglichkeit, die JVM dazu zu bringen, das abzufangen und während des Komponententests durch einen Schein zu ersetzen, so dass ich eine Kopie des Bildes erhalten kann, das gedruckt werden würde?Komponententests für das Drucken in Java Swing

Mein Code für den Druck ist einfach und sieht in etwa wie folgt aus:

 Printable printable = getPrintable(); 

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

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

Ich habe für meine anderen GUI-Tests FEST benutze, aber es scheint keine Unterstützung für Drucktests zu haben. Ist dies überhaupt möglich, oder muss ich eine Testdokumentation schreiben, in der QA aufgefordert wird, ihren Drucker zu überprüfen?

Antwort

2

überprüfen meine Druck Bibliothek aus: http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

Sie können eine StandardPrint erstellen und erzeugen Bilder für jede Seite, die

+1

+1 interessant, (kann ganz schön ignorieren) Zeit zum Bewegen der goldeggs zu Java6 gerendert wird – mKorbel

+0

Ich muss sehen, ob ich mit Ihrer Vorschau-Methode durchkommen kann. Ich sollte einen vollständigen Integrationstest durchführen, aber das scheint die beste verfügbare technische Lösung für mein Prozessproblem zu sein. –