Помогите мне начать с модульного тестирования в Visual Studio 2008 - PullRequest
7 голосов
/ 03 апреля 2009

Проведя несколько часов, читая о модульном тестировании и разработке, управляемой тестами, здесь, в StackOverflow и на других сайтах, на которые мне указывали публикации, я знаю две вещи:

  1. Я хочу использовать это
  2. Я не знаю с чего начать

Здесь много хороших постов о деталях, лучших практиках и т. Д., Но я ищу учебное пособие для начинающих - возможно, даже книгу.

С чего мне начать? Предположим, я ничего не знаю. :)

Ответы [ 5 ]

4 голосов
/ 04 апреля 2009

Получить книгу Прагматическое модульное тестирование в C # с помощью NUnit или Разработка через тестирование с помощью Microsoft.NET и выполнить одну из них Принципы будут применимы ко многим различным структурам тестирования, хотя конкретные идиомы могут отличаться.

2 голосов
/ 04 апреля 2009

Я бы скачал ReSharper (и следующие плагины: Exceptional, Agent Smith, Agent Johnsson), инструмент № 1 для улучшения качества кода и ускорения разработки. Решарпер не бесплатный, но стоит денег;)

Тогда скачайте Xunit: http://xunit.codeplex.com

Создать тест просто:

public class MyObjectTest
{
  MyObject _objectToTest = new MyObject();

  [Fact]
  private void TestStart()
  {
    _objectToTest.Start();
    Assert.True(_objectToTest.IsStarted);
  }
}

ReSharper, интегрированный с xunit, выдаст вам значок рядом с каждым методом тестирования. Значок позволяет вам тестировать (и отлаживать) метод непосредственно в IDE без необходимости запуска всей программы. Не может быть проще.

Большинство разработчиков сказали бы, что разработка через тестирование означает, что вы сначала создаете тест, а объект после него. Я обычно начинаю с создания класса, добавления к нему обязательных методов и создания теста. Это немного быстрее, и вы, вероятно, начнете проводить рефакторинг класса, когда начнете создавать тест.

Когда вы создаете класс, проводите большую часть времени в документировании каждого метода. Документация должна мотивировать, почему метод существует, что он ожидает от аргументов и что он возвращает. Если вы не можете описать это должным образом, вам, скорее всего, придется провести рефакторинг.

2 голосов
/ 04 апреля 2009

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

Я нашел ошибку !!

Я продан.

Так что теперь я добавляю в проект тестирования, как я поднимаюсь вверх по пищевой цепочке в наших библиотеках.

2 голосов
/ 04 апреля 2009

Напишите простой класс калькулятора с несколькими методами для операций и свойством для индикатора. Создавайте модульные тесты при написании класса.

Затем прочтите Эффективная работа с устаревшим кодом - он покажет вам, как добавить модульное тестирование в старые неприятные проекты.

2 голосов
/ 04 апреля 2009

Наблюдайте за юнит-тестированием связанных скринкастов и видео на http://www.asp.net/learn/

А также проверьте здесь (веб-трансляции MSDN, связанные с модульным тестированием):

http://www.google.com/search?q=unit+testing+site%3Amsevents.microsoft.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...