Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSwing中打印的单元测试_Java_Swing_Testing - Fatal编程技术网

JavaSwing中打印的单元测试

JavaSwing中打印的单元测试,java,swing,testing,Java,Swing,Testing,我有一些使用Swing/AWT打印功能的代码,我想对其进行单元测试。它使用systems native print对话框,但是有没有办法让JVM截取该对话框,并在单元测试期间将其替换为一个mock,这样我就可以获得将要打印的图像的副本 我的打印代码非常简单,大致如下所示: Printable printable = getPrintable(); PrinterJob printJob = PrinterJob.getPrinterJob(); printJob.

我有一些使用Swing/AWT打印功能的代码,我想对其进行单元测试。它使用systems native print对话框,但是有没有办法让JVM截取该对话框,并在单元测试期间将其替换为一个mock,这样我就可以获得将要打印的图像的副本

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

     Printable printable = getPrintable();

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

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

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

查看我的打印库:


您可以创建一个标准打印,并为每个页面生成图像,这些页面将被呈现

+1有趣,(可以忽略)将您的金币移动到Java6的时间到了,我必须看看是否可以使用您的预览方法。我应该做一个完整的集成测试,但这似乎是解决我的流程问题的最好的技术解决方案。