Рекомендации по настройке проекта Visual Studio для тестов nUnit - PullRequest
7 голосов
/ 13 июля 2009

Как люди настраивают свои проекты для Visual Studio и как вы ссылаетесь на тестируемое приложение?

Сейчас я добавил отдельный проект, создающий .dll для моего решения, который содержит все тестовые примеры и ссылки на nunit.framework, а также ссылается на основной файл .exe прямо из папки Debug /, где VS создает выход.

Но я понятия не имею, если это хорошая идея - или каковы лучшие практики, кто-нибудь хочет поделиться своими практиками?

Ответы [ 5 ]

3 голосов
/ 13 июля 2009

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

2 голосов
/ 13 июля 2009

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

Я также сделал то, что вы говорите, с отдельным проектом. Я думаю, что это хорошо.

1 голос
/ 13 июля 2009

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

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

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

1 голос
/ 13 июля 2009

Как правило, у меня есть решение, содержащее ряд проектов без каких-либо модульных тестов в этом основном решении - это решение, которое создается в режиме Release для настоящей сборки.

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

Хорошо работает для меня.

0 голосов
/ 13 июля 2009

Я не думаю, что есть что-то неправильное в доставке dll-файлов, содержащих код, который доказывает, что даже dll-среда в рабочей среде все еще работает в установленных пределах :). В случае странных ошибок вы все равно можете запустить модульные тесты с выпуском dll и посмотреть, не получилось ли что-то странным образом. Из-за этого и из-за того, что мне не нравится иметь вдвое больше проектов в решении, я предпочитаю добавлять папку «Тесты» в каждый проект, куда идет весь код модульного теста. Просто и эффективно.

С уважением,

Sebastiaan

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