Я разработчик-самоучка, и весь мой опыт связан с созданием небольших приложений.
В настоящее время я работаю над приложением, которое опубликовал, и понял, что мне нужно начать проводить хорошее модульное тестирование, чтобы выявить регрессии и в целом убедиться, что все работает.
Я читал о предыдущий вопрос. Я хотел бы знать, есть ли в Интернете какие-либо ресурсы, специально посвященные модульному тестированию C# в Visual Studio 2008, желательно с примерами.
Обновлено: я использую Visual Studio 2008 Professional для приложений Windows, без веб-разработки.





http://www.asp.net/learn/mvc-videos/
Витрина магазина и видеоролики по парному программированию содержат много TDD (разработка через тестирование)
Вы не указываете, работаете ли вы над веб-приложениями или приложениями для Windows, но если вы также изучаете ASP.NET, у Ричарда Дингволла есть отличные ссылки на примеры приложений asp.net mvc, которые используют TDD. Существуют примеры использования nUnit, а также фреймворков для фиксации, таких как Rhino.Mocks и Moq.
Взгляните на его сообщение в блоге здесь, чтобы найти несколько ссылок:
http://richarddingwall.name/2008/11/02/best-practice-dddtdd-aspnet-mvc-example-applications/
Джеймс Грегори опубликовал здесь довольно хороший учебник по модульному тестированию в целом:
http://blog.jagregory.com/2007/07/17/getting-with-it-test-driven-development/
Надеюсь это поможет!
Электронная книга Основы программирования: http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx
также охватывает модульное тестирование.
Вы не указываете, какой аромат VS2008 вы используете. Если это Pro или выше, то MSTest входит в пакет, но у многих людей возникают проблемы с ним - он не всегда очень интуитивно понятен, и для выполнения простых вещей, таких как покрытие / развертывание файлов, требуется слишком много настроек.
Прохождение - здесь.
В качестве рекомендации я предлагаю использовать VS2008 с NUnit (бесплатно) и TestDriven.NET (платно). Это избавляет от боли и позволяет писать простые вещи вроде:
[TestFixture]
public class Foo {
[Test]
public void Bar() {
Assert.AreEqual(2, 1+1);
}
}
Затем просто щелкните правой кнопкой мыши (по классу, по методу, по проекту, по решению) и используйте параметры тестирования, которые предоставляет TestDriven.NET, включая (если у вас есть MSTest) «Тест с -> Охват команды», который запускает ваши тесты NUnit с помощью инструментов покрытия MSTest, в том числе возвращает расцветку в IDE, чтобы показать, какие строки выполнены. Никаких проблем с "testrunconfig" и другими файлами, которые MSTest хочет, чтобы вы использовали.
Если вас интересуют не только обычные модульные тесты, то обратите внимание на PEX.
Я бы порекомендовал посмотреть скринкасты, чтобы понять, как применяется TDD. На Днр ТВ есть два эпизода с JP Boodhoo, где он дает введение в разработку через тестирование:
Если вы хотите увидеть, как модульное тестирование и TDD используются вместе с целым набором других гибких практик, я бы рекомендовал посмотреть серию сценарных трансляций Осень Agile. В этой серии статей показана разработка полностью тестируемого приложения от начала до конца.
Я слышал, что Code Contracts и инструменты PEX будут частью .NET 4.0.