Как протестировать JOptionPane показать сообщение в Junit? - PullRequest
0 голосов
/ 20 мая 2019

Я хочу убедиться, что Joptionpan работает, и это сообщение - это сообщение, которое я ожидал из приведенного ниже примера кода.

пример кода Java:

MainUI.java

public MainUI extends JFrame {

    @Autowired
    private AnotherClass another;

    JPanel contentPane;

    public MainUI(){
        screenDrawing();
    }

    private void screenDrawing(){
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(null);
        this.setContentPane(contentPane);
        JButton btn = new JButton("test btn");
        contentPane.add(btn);
        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                startValid();
            }
        });
    }

    private void startValid() {
        if(another.isTrue()){
             //do something
        }else{
            JOptionPane.showMessageDialog(contentPane, "Test message", "message", JOptionPane.NO_OPTION);
        }
    }
}

JoptionPane работает и выражается в пользовательском интерфейсе, что также является проблемой.

пример кода теста Java:

MainUITest.java

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
public class MainUITest extends TestCase {
    @Autowired
    private MainUI mainUI;        

    @Autowired
    private AnotherClass another;

    @Test
    public void testInitializeUI() throws Exception {
        another.setIsTrue(false);
        mainUI.initializeUI(); 
        //How to test Joption show message
        assertEquals(????,????);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...