Есть хорошая книга Томпсона и Ханта "Прагматическое модульное тестирование с NUnit".
Вот так я и начал, и это хорошее введение.
Для получения дополнительной информации о том, как и что тестировать в целом, я бы порекомендовал «Искусство модульного тестирования» Ошерова и «Разработка через тестирование» Бека.
Также взгляните на эту полезную сводную карточку также от Томпсона и Ханта
http://media.pragprog.com/titles/utj/StandaloneSummary.pdf.
Понятия более подробно объясняются в их книге.
Обновление:
Не уверен, что могу порекомендовать какие-либо книги, описывающие механизм настройки вашего проекта, но я могу дать несколько базовых советов.
Создайте отдельный тестовый проект для каждого исходного проекта, который вы хотите протестировать.
Убедитесь, что вы не смешиваете интеграцию / тестирование системы с вашими юнит-тестами. Один из способов обеспечить это - провести различие между тестовыми проектами. например Я мог бы иметь что-то вроде
- CustomLibraryCode.proj // исходный проект
- CustomlibraryCodeTests.Unit.proj // модульный тестовый проект
- CustomLibraryCodeTests.Integration.proj // тестовый проект интеграции
Это означает, что ваши модульные тесты, которые должны быть быстрыми и простыми в выполнении, могут выполняться изолированно от интеграционных тестов, которые обычно могут зависеть от базы данных, файловой системы и т. Д., И, как правило, медленнее и более хрупкими.