Как стать автором
Обновить

RSpec библиотеки кратко и структурно

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров1.3K

При установке rspec я обнаружила, что установила не одну, а несколько библиотек. Я задумалась - почему?

В Readme репозитория rspec-metagem написано, что rspec- это есть rspec-metagem, который зависит от rspec-core, rspec-expectations and rspec-mocks. Команда ниже установит три независимые по сути библиотеки:

gem install rspec

Выжимка о свойствах каждой библиотеки

rspec-core

  • делает команду rspec , которой мы запускаем собственно тесты, доступной из консоли;

  • делает доступным команды, которые создают структуру тестов ( describe, context, it, specify, example, shared_examples, include_examples, shared_context, include_context, let, beforeи др. хуки, described_class).

rspec-expectations

  • обеспечивает команду expect со всем его хозяйством (RSpec::Matchers)

rspec-mocks

  • поддерживает методы для создания ненастоящих дублей объектов (test-doubles) ( double, instance_double, object_spy и др.);

  • даёт возможность создать заглушку для методов дубля-объекта с помощью allow, имитируя значение или последовательность значений, возвращаещаемое методом самого объекта;

  • дает возможность проверить принимаемые аргументы дубля, например, когда дубль передается как аргумент в другую функцию, и внутри этот аргумент должен принять какое-то значение уже своим аргументом.

На рисунке ниже розовенький - rspec-mock, бирюзовый - rspec-expectations, а все остальное - rspec-core (и чуток собственно код).

Пример
Пример

Источники

Теги:
Хабы:
Всего голосов 1: ↑1 и ↓0+1
Комментарии9

Публикации

Истории

Работа

Ruby on Rails
4 вакансии
Программист Ruby
4 вакансии

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань