単体テストしたい Swing/AWT 印刷機能を使用するコードがいくつかあります。システムのネイティブ印刷ダイアログを使用しますが、JVM にそれをインターセプトさせ、単体テスト中にモックに置き換えて、印刷される画像のコピーを取得できるようにする方法はありますか?
印刷用の私のコードは簡単で、おおよそ次のようになります。
Printable printable = getPrintable();
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(printable);
if (printJob.printDialog())
{
try
{
printJob.print();
}
catch (PrinterException exception)
{
...
}
}
私は他の GUI テストに FEST を使用していますが、印刷テストをサポートしていないようです。それとも、QA にプリンターをチェックするように指示することを含むテスト ドキュメントを作成する必要がありますか?