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) 
     { 
      ... 
     } 
    } 

私は私の他のGUIのテストのためにFESTを使用してきたが、印刷のテストのための任意のサポートを持っていないようです。これは可能ですか、QAにプリンタのチェックを依頼するテスト文書を書く必要がありますか?

答えて

2

チェックアウト私の印刷ライブラリ:http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/print/

あなたはJava6のにあなたのgoldeggsを移動する(かなり無視することができます)、時間をStandardPrintを作成し、

+1

+1興味深いレンダリングされる各ページの画像を生成することができます – mKorbel

+0

私はあなたのプレビューメソッドの使用を止めることができるかどうかを見なければならないでしょう。私は完全な統合テストを行うことになっていると思われていますが、これは私のプロセスの問題に対して最も有効な技術的解決策であるようです。 –

関連する問題