2012-05-31 4 views
6

У меня есть код, который использует функциональность печати Swing/AWT, которую я хочу выполнить для модульного тестирования. Он использует диалоговое окно печати собственных систем, но есть ли способ заставить JVM перехватить это и заменить его макетом во время модульного тестирования, чтобы я мог получить копию изображения, которое будет напечатано?Модульные тесты для печати в Java Swing

Мой код для печати прост и выглядит примерно так:

 Printable printable = getPrintable(); 

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

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

Я использую FEST для других моих тестов GUI, но это, кажется, не имеют никакой поддержки печатных тестов. Возможно ли это сделать, или мне нужно будет написать тестовую документацию, которая включает в себя передачу QA, чтобы проверить свой принтер?

ответ

2

Отъезд мой печати библиотека: http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

Вы можете создать StandardPrint и создавать изображения для каждой страницы, которая будет оказана

+1

+1 интересно, (довольно может игнорировать) время, чтобы двигая goldeggs в Java6 – mKorbel

+0

Мне нужно посмотреть, смогу ли я избежать использования метода предварительного просмотра. Я * предположил, что я делаю полный интеграционный тест, но это, кажется, лучшее доступное техническое решение моей проблемы с процессом. –

Смежные вопросы