Предположим, у вас есть торговый сайт, который продает виджеты. Однако инвентарь каждого виджета ограничен, поэтому важно постоянно обновлять номер "widget.number_still_available".
Я хотел бы написать тест rspec по строкам
it "always displays the correct number still available" do
# Assume there is a before method that sets up a widget with 5 available
widget.number_still_available.should == 5
# User "[email protected]" purchases 2 widgets
widget.number_still_available.should == 3
# User "[email protected]" purchases 1 widget
widget.number_still_available.shhould == 2
# User "[email protected]" cancels purchase of 1 widget
widget.number_still_available.should == 4
end
Я хотел бы иметь возможность писать методы только для тестирования, которые выполняют методы "покупки" и "отмены". Эти действия не соответствуют каким-либо "реальным" методам в моих моделях по целому ряду причин (наиболее существенно, что в PHP существует развязанная внутренняя система, которая выполняет часть действий по покупке и отмене).
Где правильное место для ввода этого кода при использовании RSpec? В огурце я мог бы написать пару шагов - но я не уверен, какой правильный эквивалент для RSpec.