Функция подтверждения для диалогового окна - PullRequest
0 голосов
/ 18 ноября 2009

В моем приложении 3 текстовых поля и кнопка. Если пользователь не заполняет ни одно из этих текстовых полей и нажимает кнопку, пользователю отображается окно сообщения о том, что конкретное текстовое поле не введено.

Теперь, как я могу использовать Assert, чтобы подтвердить, что окно сообщения выскочило или нет?

Спасибо за ваши ответы заранее.

1 Ответ

0 голосов
/ 19 ноября 2009

Для такого рода модульного тестирования графического интерфейса более чистым решением является абстракция побочных эффектов пользовательского интерфейса за интерфейсом.

Так что вместо того, чтобы называть что-то вроде:

ShowErrorMessage("This is bad");

Вы создаете интерфейс, отвечающий за отображение объекта

public interface MessageShower {
   public function showMessage(String msg);
}

В реальной жизни ваш код будет использовать конкретную реализацию:

public class ConcreteMessageShower {
   public function showMessage(String msg) {
     ShowErrorMessage(msg);
   }
}

Однако в модульном тестировании вы будете использовать фальшивую реализацию, заглушку или макет.

Это действительно общий вопрос «как проверить побочный эффект пользовательского интерфейса?», На который ответ: «Вы не делаете!» ;)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...