6

我有一些代码使用我想要单元测试的 Swing/AWT 打印功能。它使用系统本机打印对话框,但是有没有办法让 JVM 拦截它并在单元测试期间用模拟替换它,以便我可以获得将要打印的图像的副本?

我的打印代码很简单,大致如下所示:

     Printable printable = getPrintable();

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

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

我一直在使用 FEST 进行其他 GUI 测试,但它似乎不支持打印测试。这甚至可以做到吗,还是我需要编写测试文档,告诉 QA 去检查他们的打印机?

4

1 回答 1

2

查看我的打印库:http ://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

您可以创建一个 StandardPrint 并为将要呈现的每个页面生成图像

于 2012-05-31T12:30:33.110 回答