В этих обсуждениях обычно много внимания уделяется синтаксису, который, безусловно, субъективен, но RSpec предлагает некоторые полезные функции, которых нет в тестовом / модульном, мини-тесте или их библиотеках расширений. Три больших для меня:
читаемый вывод (TURN помогает с этим, но в нем нет таких вещей, как распечатка команды, которую нужно скопировать для запуска отдельного примера, который не удался).
разумный CTRL-C. В rspec-2, когда вы нажимаете CTRL-C, пример, запущенный в этот момент, заканчивается (вы можете нажать CTRL-C во 2-й раз, чтобы немедленно остановить его), и все это после запуска ловушек, и вы получаете то же самое выходной отчет, который вы получили бы в противном случае. Сколько раз вы видели F среди первых 50 или около того точек, и вам не дали никаких указаний на то, какие тесты на самом деле провалились. С rspec-2 этого не происходит.
метаданные, связанные с каждым примером и группой. RSpec использует это для поддержки выбора примеров для запуска на основе различных критериев (местоположение, имена, версии ruby, теги командной строки и т. Д.), А также для включения / расширения модулей на их основе.
Это еще не все, но это только для того, чтобы дать вам представление. Конечно, я пристрастен, так что возьмите мои рекомендации с крошкой соли.
FWIW,
David