Как правильно использовать юнит-тесты (на любом языке) - PullRequest
5 голосов
/ 01 ноября 2010

Я никогда прежде не писал модульные тесты (или тесты, если на то пошло). Я склонен одержимо запускать / компилировать после написания даже небольшого фрагмента кода для проверки на наличие ошибок. В последнее время я немного читал о модульных тестах, и мне интересно, как лучше их использовать / реализовывать. Мой основной язык в последнее время был Python, но я думаю, что это довольно независимый от языка вопрос. У кого-нибудь есть какие-нибудь советы (или хорошее чтение) о том, как сделать это правильно?

Спасибо!

Ответы [ 5 ]

4 голосов
/ 01 ноября 2010

Я бы предложил Глава 13 из Dive Into Python .

2 голосов
/ 01 ноября 2010

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

Кларк Чинг хорошо рассказывает о TDD в течение часа, используя Excel.Если вы потратите час на прочтение этого, вы должны получить представление.

http://www.clarkeching.com/files/tdd_for_managers_and_nonprogrammers_using_excell_and_vba_final.pdf

Вы знаете, что пришли с модульным тестированием, когда тестовые шаблоны xUnit - приятное чтение.http://www.amazon.co.uk/xUnit-Test-Patterns-Refactoring-Signature/dp/0131495054/ref=sr_1_1?ie=UTF8&qid=1288638075&sr=8-1

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

1 голос
/ 01 ноября 2010

Мне нравится этот: Искусство модульного тестирования . Примеры есть в .Net, но это не должно быть проблемой. Я не знаю ни одной книги с примерами на Python.

0 голосов
/ 05 августа 2012

Библиотека утилит с открытым исходным кодом, которую я использую при написании модульных тестов: ApprovalTests - также есть серия видеороликов YouTube о том, как использовать эту библиотеку с языками .Net (идеи может применяться к другим языкам, а библиотека ApprovalTests доступна и для других языков (Java, PHP и др.).

0 голосов
/ 02 ноября 2010

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

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