Если это простое приложение, фреймворк MSTest, встроенный в VS2008, должен поставить все галочки. Это не то же самое, что NUnit, хотя многие (по ошибке) называют его так, как будто это одно и то же.
Я никогда не использовал это для насмешек, так что, может быть, кто-то еще может уточнить это. Он создает отдельный проект в вашем решении, предназначенный исключительно для тестирования. Это хорошее объяснение того, как его использовать.
Edit:
Проделав немного больше копания, я наткнулся на это сравнение MSTest и NUnit.
Недостатки NUnit Framework:
- Установка NUnit осуществляется в отдельном MSI.
- Нет интеграции с Visual Studio.
- Требуется написание контрольных примеров вручную.
- Нет автоматической генерации кода.
- Требуется открыть отдельное окно (NUnit Console или GUI) для выполнения тестовых случаев.
- Порядок выполнения тестовых случаев недоступен.
- Нет встроенной функции для отладки тестовых случаев.
- Нет встроенной функции для включения / отключения тестовых случаев.
- Нет встроенной функции для предоставления дополнительной информации о тестовых случаях, таких как трассировка стека, информация о трассировке и т. Д.
- Нет встроенной функции для сортировки тестовых случаев на основе имени компьютера, имени класса и типа хоста и т. Д.
Это из сравнительной статьи, на которую я ссылался.
Я никогда не использовал NUnit, только MSTest для C # и JUnit для Java, поэтому я немного предвзят в этом отношении. MSTest всегда работал очень хорошо для меня для WinForms , с такими функциями, как возможность запускать тесты индивидуально, показывать действительно подробные отчеты (с отдельными журналами трассировки) и автоматически генерировать весь шаблонный тестовый код и делать все подобные вещей, которые делают VS2008 такой блестящей IDE. Судя по всему, NUnit хорошо работает для других, и у них есть свои причины, почему им это нравится.
Если у вас нет особой причины для применения подхода NUnit / Testdriven.NET, например, если вам нужна определенная функция, или вы просто предпочитаете такой способ настройки тестов и попытки интегрировать его обратно в VS, тогда я не буду увидеть любую причину не просто использовать MSTest, который работает прямо из коробки.