QUnit: один тест на метод с несколькими утверждениями или несколько тестов на метод? - PullRequest
3 голосов
/ 19 октября 2011

Я решил использовать TDD для моего следующего проекта javascript, и я использую QUnit для модульного тестирования.Я совершенно новичок в модульном тестировании, никогда не делал это ни на каком языке.Вот пример одного из моих модулей плюс один тест для метода find, который пытается охватить все сценарии, с которыми этот метод столкнется:У меня слишком много утверждений в моем тесте?Должны ли мои тесты быть разбиты на еще меньшие тесты?Я читал о TDD на stackoverflow, и я прочитал несколько вещей, которые заставляют меня чувствовать, что я делаю это неправильно.

Ответы [ 2 ]

5 голосов
/ 19 октября 2011

Если вы используете TDD, тогда вам нужно получить одно утверждение для каждого метода тестирования.

Следующая ссылка содержит хорошее объяснение проблем, с которыми вы можете столкнуться при тестировании всего одним методом: Модульное тестирование Это может упростить внесение скрытых ошибок в ваш код.

0 голосов
/ 15 августа 2015

Если вы можете найти копию «Чистого кода» Боба Мартина, он обсуждает этот вопрос в главе о модульном тестировании. По его мнению, «одно утверждение на тест» может быть немного неловким (он приводит хороший пример в книге), и вместо этого он предпочитает использовать «один концепт на тест». Так что продолжайте и используйте несколько утверждений, если вы чувствуете, что они тесно связаны и было бы неприятно разделять.

...