Подтвердить что ты не робот

Как отлаживать библиотеку классов в Visual Studio

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

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

4b9b3361

Ответ 1

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

Ответ 2

Взгляните на NUnit или на другую аналогичную платформу тестирования модулей.

У разработчиков "Team Developer" и "Team Suite" Visual Studio уже встроена среда тестирования модулей Microsoft.

Ответ 3

Создайте проект unit test для библиотеки классов, щелкнув правой кнопкой мыши "Create Unit Tests" в классе/методе в библиотеке. Я бы порекомендовал скачать TestDriven.NET и использовать в нем тестовый бегун правой кнопкой мыши.

Ответ 4

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

Выяснение чего-то вроде Test-Driven Development (TDD), Domain-Driven Development (DDD) или Behavioral-Driven Development (BDD) может быть полезным. Мне нравится использовать nUnit с nBehave, я сам.