2009-11-18 4 views
0

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

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

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

+0

Можете ли вы указать, что вы используете для доставки текстовых полей? – Shane

+0

Я использую Белый, чтобы вставить значения и нажмите кнопку. – shanthiram

ответ

0

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

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

ShowErrorMessage("This is bad"); 

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

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

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

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

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

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

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