DbC (проектирование по контракту) и юнит-тесты - PullRequest
4 голосов
/ 29 января 2009

Я использую контракты с C # 4.0 и до того, как я использовал много модульных тестов (не с TDD). Мне интересно, устраняет ли DbC необходимость написания внешних модульных тестов?

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

Что вы, ребята, думаете?

Ответы [ 3 ]

0 голосов
/ 30 января 2009

Я думаю, что DbC может помочь вам проверить часть того, что юнит-тесты могут вообще делать.

Использование DbC будет эффективно для таких вещей, как проверка методов ввода / вывода, и может сэкономить ваше время.
Но для более сложных проверок (например, проверка зависимостей) будет проще с внешними модульными тестами .

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

0 голосов
/ 30 января 2009

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

Я говорю это потому, что проверки PoC часто выражаются как утверждения, которые могут быть отключены по желанию в производстве. (Даже Eiffel, язык Бертрана Мейерса, который имеет встроенную поддержку PoC, рекомендует отключить их в работе.)

Я бы предпочел иметь полный набор модульных тестов, которые проверяют «счастливый путь», исключительные и граничные условия. Они полезны при рефакторинге, а не PoC.

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