Написание безопасных, не нагнутоJAVA

Программисты JAVA общаются здесь
Anonymous
Написание безопасных, не нагнуто

Сообщение Anonymous »

Я продолжаю слышать эту рекомендацию, чтобы всегда получить доступ к компонентам свинг на EDT, включая в тестах. Или аналогичные подходы, включающие фестиваль. < /P>
Например, эти тесты работают нормально, как есть. Если бы я обернул их в лямбдас вышеупомянутыми методами, они выглядели бы менее красиво. < /P>
В какой момент я перестану сойти с рук? FEST доступен. @Test
void givenPlaceholder_ifNoTextSet_andFieldHasNoFocus_placeholderDisplayed_foregroundEqualsPlaceholderColor() {
ValueField field = ValueField.forValueType(SomeClass.class);
String placeholderText = "Please enter some text...";
field.setPlaceholderText(placeholderText);
JFrame frame = frameFor(field);
frame.setVisible(true);
assumeFalse(field.hasFocus());

assertEquals(placeholderText, field.getText());
assertEquals(Colors.placeholder(), field.getForeground());
frame.dispose();
}

@Test
void givenPlaceholder_ifFieldGainsFocus_placeholderRemoved_foregroundBlack() {
ValueField field = ValueField.forValueType(SomeClass.class);
String placeholderText = "Please enter some text...";
field.setPlaceholderText(placeholderText);
JFrame frame = frameFor(field);
frame.setVisible(true);
assumeFalse(field.hasFocus());
assumeTrue(placeholderText.equals(field.getText()));

field.requestFocus();

// returns shared BasicRobot.robotWithCurrentAwtHierarchy()
Robots.getRobot().waitForIdle();
assertEquals("", field.getText());
assertEquals(Color.BLACK, field.getForeground());
frame.dispose();
}

static JFrame frameFor(Container contentPane) {
JFrame frame = new JFrame();
frame.setContentPane(contentPane);
return frame;
}

static class SomeClass {
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... wing-tests

Вернуться в «JAVA»