Модульное тестирование форм WinForms - PullRequest
0 голосов
/ 29 октября 2019

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

До сих пор мы прибегали к использованию магических строк для получения элементов управления с помощью отражения. Это работает, но это хрупко. Тесты будут прерваны, если имя элемента изменится.

Изменение всех элементов управления на внутренние работы, но это немного болезненно, потому что мы должны помнить, чтобы сделать это для каждого элемента управления, к которому мы могли бы обратиться втест.

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

Есть также проблема поднятия событий. Пока что мы являемся волшебными строками для хранения имен событий, затем используем отражение, чтобы найти метод OnXXX и вызвать его, но, опять же, мы бы хотели покончить с этим.

Есть ли способ использовать деревья выражений (или любую другую семантику или механизмы) для доступа к частным элементам управления, чтобы манипулировать или проверять их состояние и инициировать их события?

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