Введение начинающих в модульное тестирование в Visual Studio 2008 - PullRequest
10 голосов
/ 10 ноября 2008

Я разработчик-самоучка, и мой опыт - в небольших приложениях, которые я разработал.

В настоящее время я работаю над приложением, которое я обнародовал, и понял, что мне нужно начать делать хорошее модульное тестирование, чтобы отследить регрессии и вообще убедиться, что все работает.

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

РЕДАКТИРОВАТЬ: я использую Visual Studio 2008 Professional для приложений Windows, без веб-разработки.

Ответы [ 6 ]

9 голосов
/ 10 ноября 2008

Вы не указываете, какой аромат VS2008 вы используете. Если это Pro или выше, то MSTest входит в пакет, но у многих людей возникают проблемы с ним - он не всегда очень интуитивен, и для выполнения простых операций, таких как развертывание покрытия / файла, требуется слишком много настроек.

Прохождение здесь .

В качестве рекомендации я предлагаю использовать VS2008 с NUnit (бесплатно) и TestDriven.NET (не бесплатно). Это устраняет всю боль, позволяя вам просто писать простые вещи вроде:

[TestFixture]
public class Foo {
    [Test]
    public void Bar() {
        Assert.AreEqual(2, 1+1);
    }
}

Затем просто щелкните правой кнопкой мыши (по классу, по методу, по проекту, по решению) и используйте параметры Test, которые предоставляет TestDriven.NET, включая (если у вас MSTest) «Test With -> Team Coverage» ", который запускает ваши тесты NUnit с помощью инструментов покрытия MSTest, в том числе возвращает раскраску в IDE, чтобы показать, какие строки выполнены. Не связывайтесь с «testrunconfig» и другими файлами, которые MSTest хочет, чтобы вы использовали.

4 голосов
/ 10 ноября 2008

http://www.asp.net/learn/mvc-videos/

Видео о витрине магазина и парном программировании включает в себя множество TDD (тест-ориентированная разработка)

1 голос
/ 10 ноября 2008

Электронная книга Основы программирования: http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx

также охватывает юнит-тестирование.

1 голос
/ 10 ноября 2008

Вы не указываете, работаете ли вы с веб-приложениями / приложениями для 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/

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

0 голосов
/ 05 декабря 2008

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

Если вы хотите, чтобы модульное тестирование и TDD использовались вместе со множеством других гибких практик, я бы порекомендовал посмотреть сериал Scenencast Осень Agile . В этой серии рассказывается о разработке полностью тестированного приложения от начала до конца.

0 голосов
/ 10 ноября 2008

Если вас интересуют не только обычные юнит-тесты, взгляните на PEX

...