Что касается тестирования графического интерфейса, вы видели SWTBot ?Возможно, он недостаточно сложен для вас, но, возможно, стоит взглянуть на него.
У меня было это доказательство концептуального кода, которое некоторое время находилось в хранилище, ожидая, пока графический интерфейс в проекте будет достаточно стабильным.для этого стоит написать тесты высокого уровня.
Надеюсь, что некоторые из этих ответов помогут!
public class TestExampleGUI
{
public static Shell shell ;
public static Display testDisplay;
public boolean buttonClicked = false;
@Before
public void setUp() throws Exception
{
testDisplay = new Display();
testDisplay.beep();
shell = new Shell(testDisplay);
Button button = new Button(shell, 0);
button.setText("Button");
button.addSelectionListener(new SelectionListener()
{
@Override
public void widgetDefaultSelected(SelectionEvent e)
{
System.out.println("Default Pressed");
}
@Override
public void widgetSelected(SelectionEvent e)
{
System.out.println("Pressed");
buttonClicked = true;
}
});
shell.setText("Test");
shell.setLayout(new FillLayout());
shell.setSize(800,900);
shell.open();
}
@After
public void tearDown() throws Exception
{
}
@Test
public void testExampleGUI()
{
SWTWorkbenchBot bot = new SWTWorkbenchBot();
// click on a button with the given text
bot.button("Button").click();
assertTrue(buttonClicked);
}
}