BDD является процесс/механизм для управления развитием с использованием высоких описания уровней на поведение приложения. Огурец (во всех его формах) является инструментом для поддержки этого процесса, позволяя вам указывать концепции высокого уровня на естественном языке, который может быть автоматизирован. Это не инструмент для написания модульных тестов.
Огурец является инструментом для внешнего круга процесса BDD
Но как вы можете видеть BDD имеет внутренний круг, где модульное тестирование происходит.
Когда вы находитесь во внутреннем окружении, иногда вам нужно строить вещи, чтобы сделать внешний круг зеленым (иначе вы просто будете использовать существующие вещи). Когда вы строите вещи, вам требуются модульные тесты. На внутреннем круге уровень абстракции ниже, количество деталей намного больше, а исчерпывающее тестирование гораздо важнее. Они в совокупности делают использование огурца для этих испытаний непомерно дорогостоящим и сложным. Вот почему инструменты модульного тестирования лучше подходят здесь.
+1 от меня. Не могли бы вы рассказать мне, что именно вы имеете в виду «это абсолютно правильно»? Не получите это от вашего ответа на мои вопросы. – cilap
Спасибо @cilap, есть обсуждение, если BDD правильно использовать в модульном тестировании. Одно мнение, что это только для системных и интеграционных тестов. Я поддерживаю позицию для широкого использования BDD. См. Эту [ссылку] (http://guide.agilealliance.org/guide/bdd.html) от Agile Alliance, где модульный тест также является гражданином первого класса. – Eugene
Eugene, есть ли у вас примеры того, как модульные тесты создаются с огурцом? Я просто пытаюсь выяснить, как cucumber.js можно использовать без html-клиента. Просто для простых модульных тестов. – cilap