Вступление начинающих в модульное тестирование в Visual Studio 2008
Я являюсь разработчиком самообучения, и мой опыт связан с небольшими приложениями, которые я разработал.
В настоящее время я работаю над приложением, которое я обнародовал, и я понял, что мне нужно начать хорошее тестирование модулей, чтобы поймать регрессии и вообще убедиться, что все работает.
Я прочитал предыдущий вопрос . Я хотел бы знать, есть ли какие-либо ресурсы в Интернете, конкретно касающиеся тестирования модулей С# в Visual Studio 2008, желательно с примерами.
EDIT: Я использую приложения Visual Studio 2008 Professional для Windows, не веб-разработки.
Ответы
Ответ 1
Вы не указываете, какой вкус VS2008 вы используете. Если это Pro или выше, тогда MSTest поставляется в комплекте, но у многих людей есть проблемы с ним - это не всегда очень интуитивно, и требуется слишком много настроек, чтобы делать простые вещи, такие как развертывание покрытия/файла.
Пошаговое руководство здесь.
В качестве рекомендации я предлагаю использовать VS2008 с NUnit (бесплатно) и TestDriven.NET (не бесплатно). Это отнимает всю боль, позволяя вам просто писать простые вещи, например:
[TestFixture]
public class Foo {
[Test]
public void Bar() {
Assert.AreEqual(2, 1+1);
}
}
Затем просто щелкните правой кнопкой мыши (в классе, методе, проекте, в решении) и используйте параметры тестирования, которые предоставляет TestDriven.NET, в том числе (если у вас есть MSTest) "Test With → Team Coverage", который запускает ваши тесты NUnit с помощью средств MSTest для охвата, включая повторную раскраску в среду IDE, чтобы показать, какие строки выполняются. Не пытайтесь использовать "testrunconfig" и другие файлы, которые MSTest хочет использовать.
Ответ 2
http://www.asp.net/learn/mvc-videos/
Виджеты для витрины магазина и пары связаны с большим количеством TDD (Test Driven Development)
Ответ 3
Вы не указываете, работаете ли вы в приложениях для веб-приложений, но если вы изучаете 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/
Надеюсь, это поможет!
Ответ 4
Электронная книга Основы программирования: http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx
также охватывает модульное тестирование.
Ответ 5
Если вам интересны не только обычные модульные тесты, а затем посмотрите PEX
Ответ 6
Я бы рекомендовал посмотреть на скринкасты, чтобы понять, как применяется TDD. В Dnr TV есть два эпизода с JP Boodhoo, где он дает введение в тестовую разработку:
Если вы хотите увидеть модульное тестирование и TDD, используемые вместе с целым рядом других гибких практик, я бы рекомендовал посмотреть серию sceencast Autumn of Agile. Эта серия показывает разработку полностью протестированного приложения от начала до конца.