Вступление начинающих в модульное тестирование в 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/

Надеюсь, это поможет!

Ответ 5

Если вам интересны не только обычные модульные тесты, а затем посмотрите PEX

Ответ 6

Я бы рекомендовал посмотреть на скринкасты, чтобы понять, как применяется TDD. В Dnr TV есть два эпизода с JP Boodhoo, где он дает введение в тестовую разработку:

Если вы хотите увидеть модульное тестирование и TDD, используемые вместе с целым рядом других гибких практик, я бы рекомендовал посмотреть серию sceencast Autumn of Agile. Эта серия показывает разработку полностью протестированного приложения от начала до конца.