Как отлаживать библиотеку классов в Visual Studio - PullRequest
16 голосов
/ 08 января 2010

Я работаю над проектом библиотеки классов (DLL) в Visual Studio 2008; программирование на C #. Чтобы протестировать мою DLL, я только что создал второй проект, который является консольным приложением, и в этом проекте я могу сослаться на первый и запустить тесты. Есть ли более простой способ сделать это? Могу ли я просто создать другой файл в своем проекте библиотеки классов, в котором есть тесты, а затем как-то сказать Visual Studio запустить этот файл?

Я знаю, что одним из способов было бы добавить текстовый файл в мой проект, а затем написать свой тестовый код на JScript. Затем в настройках проекта в меню отладки я могу сказать, чтобы запустить внешнюю программу (JScript). Затем имя моего тестового файла, test.js, вводится в поле Аргументы командной строки. Но мне интересно, есть ли способ сделать это, используя код C # вместо JScript?

Ответы [ 4 ]

15 голосов
/ 08 января 2010

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

9 голосов
/ 08 января 2010

Взгляните на NUnit или другие подобные модули модульного тестирования.

В версиях Visual Studio "Team Developer" и "Team Suite" уже встроена среда модульного тестирования Microsoft.

2 голосов
/ 08 января 2010

Создайте проект модульного теста для библиотеки классов, щелкнув правой кнопкой мыши «Создать модульные тесты» в классе / методе в библиотеке. Я бы порекомендовал загрузить TestDriven.NET и использовать в нем правую кнопку мыши.

1 голос
/ 08 января 2010

Вы говорите о модульных тестах? Вы можете использовать что-то вроде nUnit или встроенную среду тестирования, которая поставляется с Visual Studio. Самые простые тесты просто требуют, чтобы вы добавили некоторые атрибуты к вашему тестовому приспособлению и сделали утверждение вроде obj1 == obj2.

Может быть полезно проверить что-то вроде разработки через тестирование (TDD), разработку через домен (DDD) или разработку через поведение (BDD). Мне нравится сам использовать nUnit с nBehave.

...