Я «относительно новичок» в модульном тестировании и TDD. Только недавно я закончил свое первое производственное приложение, которое имеет (по крайней мере, теоретически) покрытие кода 100%. Некоторое время я также проводил модульное тестирование в предыдущих проектах, но не в стиле TDD и с хорошим охватом кода. Это всегда было запоздалой мыслью. Я чувствую, что теперь у меня это хорошо получается.
Я также пытаюсь обучить остальную часть команды TDD и модульному тестированию, чтобы мы могли расти вместе и начать двигаться вперед с выполнением модульного тестирования во всех наших приложениях, и в конечном итоге перейти к выполнению полного TDD с автоматизированным строит и непрерывная интеграция. Я разместил ветку здесь относительно моего плана атаки / учебной программы для комментариев и критики.
В одном из ответов (на самом деле проголосовало большинство) предложено сначала настроить инфраструктуру, прежде чем я приступлю к обучению. К сожалению, я не имею никакого отношения к этому, и поиск по темам затруднен, потому что страницы CruiseControl.NET / nAnt / etc на самом деле не объясняют, «почему» мы должны это настроить и «как» все соединяется вместе.
Мы - небольшой магазин (около 10 разработчиков), мы используем почти исключительно технологии Microsoft и занимаемся разработкой в VB.NET. Мы надеемся в конечном итоге начать использовать C #, но это в другой раз. Я использовал проект MSTest, поставляемый с VS2008, для своих модульных тестов, и я создавал свои приложения с помощью Visual Studio и развертывал с помощью проектов установки MSI ... Мы также (к сожалению) также используем VSS для управления ресурсами - но это также на рубке, и я бы очень хотел избавиться от нее и использовать Subversion.
Я знаю, что мне нужно использовать CruiseControl.NET для CI, а также nAnt или MSBuild для сборки приложений. И мне, вероятно, нужен сервер сборки для запуска всех этих сборок. Но я просто не могу найти ничего, что «связывает» точки и объясняет, как они взаимодействуют друг с другом, что должно быть на вашем сервере сборки, когда вы должны строить с сервером сборки (это только для развертываний или даже когда вы просто хотите скомпилировать разрабатываемое приложение после внесения небольших изменений в вашу локальную среду?). Я также планирую развернуть MSTest, так как обнаружил, что он глючит, и вместо этого буду использовать nUnit.
Может ли кто-нибудь осветить этот пробел, который я имею от «знания как сделать TDD» до «настройки надлежащей инфраструктуры, чтобы вся команда могла сделать это и работать вместе»? Я понимаю, что такое непрерывная интеграция, но, опять же, я не уверен, как настроить сервер сборки и как он соединяется со всем, и зачем он нам нужен (например, шаг к управлению).
Большое спасибо за ваше время.
Какая часть финального билдера мне нужна? Кажется, есть некоторое совпадение с финальным билдером и командным составом. Сервер Finalbuilder выглядит как CI-сервер, так что, полагаю, он мне не нужен. FinalBuilder, похоже, является сервером сборки, но я думал, что TeamCity также является сервером сборки ... А Automise, похоже, инструмент визуальной автоматизации окон, как какая-то платформа для разработки приложений winforms ...
_Я также не вижу поддержки окончательного компоновщика в Диаграмма поддерживаемых приложений Team City : _