Я пытаюсь выполнить единичный тест для кода, который генерирует компоненты GUI.Почему мой модульный тест не распространяется на код генерации кода gui?
Это мой тестовый код.
@Test
public void testMainFrame() {
mFrame = new MainFrame();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
fail("MainFrame Test Fail");
}
assertTrue(true);
}
И целевой код здесь.
public MainFrame() {
super("Title");
/* Main page */
clayout = new CardLayout();
headerPane = new JPanel(clayout);
statusField = new JTextArea("TEST TEXT!!!");
statusField.setEditable(false);
headerPane.add(statusField);
startButton = new JButton("Start");
closeButton = new JButton("Close");
startButton.addActionListener(this);
closeButton.addActionListener(this);
this.setLayout(new BorderLayout());
this.setSize(500, 400);
headerPane.setPreferredSize(new Dimension(500, 50));
mainPane = new JPanel();
mainPane.setLayout(new BorderLayout());
mainPane.add(headerPane, BorderLayout.NORTH);
this.setVisible(true);
}
Как вы можете видеть выше, цель теста только генерирует компоненты GUI.
Что мне интересно, мой тест просто охватывает первую строку, super("Title");
.
По этой причине мое покрытие кода значительно уменьшилось.
И я мог видеть этот результат в отчете сонара.
Почему мой тест не распространяется на левые коды?