Стоит ли использовать функцию создания модульных тестов в Visual Studio на существующей кодовой базе? - PullRequest
1 голос
/ 21 августа 2010

В моем магазине мало знакомы с модульным тестированием в целом, но я бы хотел в него вникнуть, как минимум, в качестве доказательства концепции.Было бы сумасшедшей идеей просто использовать функцию Visual Studio Create Unit Tests на моей небольшой (~ 500 строк) базе кода и показать концепцию таким образом?

Ответы [ 2 ]

3 голосов
/ 21 августа 2010

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

Если вы просто хотите показать, как выполнить модульное тестирование существующего кода, то, что Рой Ошеров называет TAD (TestПосле разработки) это быстрый и простой способ показать, какие вещи следует тестировать.

Если вы проходите модульное тестирование, потому что заинтересованы в переходе к TDD, тогда ваш подход может привести к путанице, а не к просветлению.Попытка показать кому-то TDD путем добавления модульных тестов к существующему коду, на мой взгляд, отрицательно сказывается на цели.

Скорее, я хотел бы рассмотреть что-то (например, SpecFlow), которое пытается сосредоточиться на духе TDD, который заключается в том, чтовы пишете спецификацию (или требование) в своем тестовом коде, прежде чем писать реальный код, чтобы заставить его работать.

Когда я понял, что модульный тест, написанный до того, как код, может сработать, у меня щелкнул выключатель света.будь моим очень подробным требованием.Это было самодокументированием, и пока модульный тест (спецификация) был написан правильно, тогда мой рабочий код гарантированно соответствовал требованию!

Если вы согласны с этим, вы можете посмотретьв игре Боулинг Ката .Я нашел это очень полезным для введения модульного тестирования и концепций TDD.

0 голосов
/ 21 августа 2010

Нет, это совсем не сумасшествие, и это ИМХО отличная идея.

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

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

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