Игнорировать Form.ShowDialog () при тестировании события нажатия кнопки, при котором появляется форма? - PullRequest
0 голосов
/ 09 февраля 2011

Я хотел бы спросить, как бы вы протестировали событие нажатия кнопки, при котором вы хотите проверить результаты после показа формы.Я использую NUnit для тестирования.Я создал метод расширения для показа формы, как показано ниже, пробовал разные методы, такие как проверка Debugger.IsAttached?;

    public static void ShowFormDialog(this Form form)
    {
        if(Debugger.IsAttached)
            form.ShowDialog();
    }

, но при запуске моего теста форма все еще появляется во всплывающем окне.Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 16 февраля 2011

Вашему дизайну может потребоваться некоторая работа.Что ты тестируешь?Форма или класс, который обрабатывает события формы?Если эти два не разделены, это должно быть.

Если последнее, то вы должны использовать внедрение зависимостей, чтобы вы могли заглушить форму и вызвать событие по-своему.

Использование условных выражений, таких как Debugger.IsAttached, никогда не должно использоваться без веских причин (пока еще не было достаточно веских причин)

С уважением, Мортен

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