mô hình/message.rb
class Message
attr_reader :bundle_id, :order_id, :order_number, :event
def initialize(message)
hash = message
@bundle_id = hash[:payload][:bundle_id]
@order_id = hash[:payload][:order_id]
@order_number = hash[:payload][:order_number]
@event = hash[:concern]
end
end
đặc tả/mô hình/message_spec.rb
require 'spec_helper'
describe Message do
it 'should save the payload' do
payload = {:payload=>{:order_id=>138251, :order_number=>"AW116554416"}, :concern=>"order_create"}
message = FactoryGirl.build(:message, {:payload=>{:order_id=>138251, :order_number=>"AW116554416"}, :concern=>"order_create"})
message.event.should == "order_create"
end
end
error_log
thất bại:nhà máy cô gái đi qua lập luận để mô hình định nghĩa về xây dựng/tạo
1) Tin nhắn nên lưu tải trọng
Failure/Error: message = FactoryGirl.build(:message, {:payload=>{:order_id=>138251, :order_number=>"AW116554416"}, :concern=>"order_create"})
ArgumentError:
wrong number of arguments (0 for 1)
# ./app/models/message.rb:4:in `initialize'
# ./spec/models/message_spec.rb:7:in `block (2 levels) in <top (required)>'
Cần lưu ý rằng chỉ kể từ khi FactoryGirl 2.5 đã khởi tạo được hỗ trợ: http://robots.thoughtbot.com/factory-girl-2-5-gets-custom-constructors (điều này thực sự quan trọng nếu bạn đang bị mắc kẹt bằng cách sử dụng rspec 1.x do các vấn đề phụ thuộc) – Lambart
Cũng lưu ý: 'CẢNH BÁO KHÔNG CẦN: \' #ignore \ 'không được chấp nhận và sẽ bị xóa trong 5.0. Vui lòng sử dụng \ '#transient \' thay thế.' – thisismydesign