Использование cucumber для тестирования API, не написанного на rails

#ruby-on-rails-3 #node.js #cucumber #bdd

#ruby-on-rails-3 #node.js #cucumber #bdd

Вопрос:

Я пишу API с использованием фреймворка, отличного от rails. Обычно я использую Cucumber для BDD и тестирования API, когда я пишу их на RAILS.

Есть ли веская причина не использовать Cucumber, когда я тестирую API, написанный поверх node.js (или любой другой фреймворк, на самом деле)?

Веские технические причины не делать этого могут включать:

  • Зависимость Cucumber от Rails
  • Существование лучшей платформы для node.js
  • Какая-то другая техническая причина, о которой я не знаю.

Комментарии:

1. Как участник проекта с открытым исходным кодом, я был бы в ярости, если бы мне пришлось заставить rails запускать модульные тесты для node.js проект.

Ответ №1:

Прежде всего, Cucumber не зависит от Rails.

Я пробовал несколько разных фреймворков тестирования javascript, чтобы попытаться определить, что я хочу использовать. Пока мне нравится мокко с expect.js для модульного тестирования, но я не нашел ничего для интеграционного тестирования приложения node, что меня устраивало бы. Это можно сделать с помощью mocha и supertest, и я тоже пробовал cucumber.js который приближается к цели, но он не такой зрелый, как версия Ruby — так что это то, что я намерен использовать.

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

Ответ №2:

Как уже было сказано, cucumber не имеет ничего общего с rails. Вы могли бы прекрасно использовать его для тестирования API, написанных на любых языках.

В случае, если вы хотите использовать node.js полный стек cucumber.js это хороший вариант.