У меня много проблем с попыткой определить макет для моделей рельсов на огурце. Похоже, что метод создает кучу ожиданий сообщений, и я продолжаю получать ошибки, подобные этим:
Given I have only a product named "Sushi de Pato" # features/step_definitions/product_
steps.rb:19
unexpected invocation: #<Mock:ProductCategory_1001>.__mock_proxy()
unsatisfied expectations:
- expected exactly once, not yet invoked: #<Mock:ProductCategory_1001>.errors(any_pa
rameters)
- expected exactly once, not yet invoked: #<Mock:ProductCategory_1001>.id(any_parame
ters)
- expected exactly once, not yet invoked: #<Mock:ProductCategory_1001>.to_param(any_
parameters)
- expected exactly once, not yet invoked: #<Mock:ProductCategory_1001>.new_record?(a
ny_parameters)
- expected exactly once, not yet invoked: #<Mock:ProductCategory_1001>.destroyed?(an
y_parameters)
satisfied expectations:
- allowed any number of times, not yet invoked: #<Mock:errors>.count(any_parameters)
(Mocha::ExpectationError)
Я еще не реализовал класс ProductCategory, и я просто хочу, чтобы он возвращал идентификатор и атрибут 'name'.
Это мое определение шага:
Given /^I have only a product named "([^\"]*)"$/ do |name|
@product = Product.create!(:name => name, :description => 'Foo', :price => 100, :points => 100, :category => mock_model(ProductCategory))
end
А это мой файл env.rb:
$: << File.join(File.dirname(__FILE__),"..")
require 'spec\spec_helper
Я использую RSPec 1.3.0, огурец 0.6.3 и webrat 0.7.0
Я тоже пытался использовать заглушки, но вместо этого получил некоторые другие ошибки ...