Предположим, у вас есть торговый сайт, который продает виджеты.Однако инвентаризация каждого виджета ограничена, поэтому важно поддерживать номер «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 "a@b.com" purchases 2 widgets
widget.number_still_available.should == 3
# User "c@d.com" purchases 1 widget
widget.number_still_available.shhould == 2
# User "a@b.com" cancels purchase of 1 widget
widget.number_still_available.should == 4
end
Я хотел бы иметь возможность писать методы только для тестирования, которые выполняют методы «покупки» и «отмены».Эти действия не соответствуют никаким «реальным» методам в моих моделях по ряду причин (наиболее важно, что в PHP есть отсоединенная серверная система, выполняющая часть действий по покупке и отмене).
Где правильно разместить этот код при использовании RSpec?В огурце я мог бы написать пару шагов - но я не уверен, что правильный эквивалент для RSpec.