Под этим я подразумеваю, какие инструменты предназначены для модульного тестирования, а для BDD даже есть четкое разделение?
Я только изучаю Ruby из C #, и инструменты, с которыми я знаком, существуют в стиле xUnit для чистого модульного тестирования / TDD и Cucumber / SpecFlow для BDD / интеграционного тестирования. Конечно, вы можете использовать инструменты модульного тестирования для интеграционного тестирования, если хотите.
Основными инструментами тестирования, с которыми я столкнулся на Ruby, являются Test :: Unit, RSpec и Cucumber (очевидно, их гораздо больше, но они, похоже, являются самыми популярными, и, следовательно, вероятно, с них можно начать) .
Я не ищу здесь длинный список инструментов - если есть основной соперник, которого я пропустил, то, пожалуйста, скажите мне, но я бы предпочел сделать его простым на этом этапе, чем начинать использовать бета-версию Tool Z с Расширения Library X, работающие на платформе MegaChode »или что-то еще. В конце концов, я всего лишь бедный смущенный парень .Net!
Понятно, что Test :: Unit был разработан для модульного тестирования, а Cucumber - для BDD. Но я не уверен насчет RSpec - некоторые люди, похоже, используют его как инструмент для низкоуровневого модульного тестирования, а другие - для BDD более высокого уровня. В то же время некоторые люди, похоже, используют Test :: Unit (и аналогичные) с дополнительными библиотеками для BDD.
Чтобы дать вам представление о том, откуда я родом, я вижу, что вы можете написать более функциональные, тестируемые спецификации (которые может понять деловой человек) с помощью инструмента BDD, а затем выполнить низкоуровневый уровень, TDD, ориентированный на разработчиков, с вашим модульным инструментом тестирования, когда вы реализуете функциональность, необходимую для вашего Cuke (или чего-либо еще).
Есть ли общепринятый способ сделать это в Ruby, или мне нужно забыть о таком сумасшедшем понятии и использовать то, что, кажется, делает эту работу?
Ура,
Грант