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

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

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

При установке 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
8 вакансий
Программист Ruby
6 вакансий

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург