Это плохая практика ссылаться на System.Windows.Form в вашем модульном тестовом проекте? - PullRequest
1 голос
/ 20 августа 2009

У меня есть класс, для которого я хочу проверить значение DialogResult. Чтобы получить этот тип, мне нужно добавить ссылку на System.Windows.Forms.

Это плохая практика - включать это в тестовый проект?

Ответы [ 4 ]

2 голосов
/ 20 августа 2009

Включите все, что вам нужно для модульного теста, который может выполняться без какого-либо человеческого взаимодействия, или ожидания того, что он будет соблюдаться.

Если вы хотите проверить, правильно ли отображается что-то в форме, значит, вы выполняете функциональный тест.

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

Если вам просто нужны некоторые перечисления или вспомогательные классы из Windows. Формы, которые не имеют отношения к фактическому созданию формы, тогда модульный тест для этого подойдет.

2 голосов
/ 20 августа 2009

Является ли ваше тестирование неотъемлемо связанным с формами? Если это не так, то сам тип не должен ссылаться на DialogResult. Если равно (и я подозреваю, что так оно и есть), то вполне разумно, чтобы ваши тесты также были связаны с формами.

2 голосов
/ 20 августа 2009

Если вам просто нужно определение enum для DialogResult, я не вижу никаких проблем.

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

1 голос
/ 20 августа 2009

Это зависит от вашей настройки и требований вашего тестового проекта (ов), но, как правило, я бы сказал, что это неплохая практика; хотя по моему опыту, практика довольно редкая.

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