JUnit を使用して単体テストを実行できるように、JDialog 内で JButton ActionListener をアクティブにする必要があります。
基本的に私はこれを持っています:
public class MyDialog extends JDialog {
public static int APPLY_OPTION= 1;
protected int buttonpressed;
protected JButton okButton;
public MyDialog(Frame f) {
super(f);
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonpressed= APPLY_OPTION;
}
} );
public int getButtonPressed() {
return buttonpressed;
}
}
それから私は私のJUnitファイルを持っています:
public class testMyDialog {
@Test
public void testGetButtonPressed() {
MyDialog fc= new MyDialog(null);
fc.okButton.???????? //how do I activate the ActionListener?
assertEquals(MyDialog.APPLY_OPTION, fc.getButtonPressed());
}
}
これは単体テストで行うには冗長に聞こえるかもしれませんが、実際のクラスはそれよりもはるかに複雑です...