Tôi đang cố gắng kiểm tra xem một hành động mới trong bộ điều khiển RESTful của tôi đã thiết lập một biến mẫu của kiểu đối tượng được yêu cầu chưa. Có vẻ khá điển hình, nhưng gặp khó khăn trong thực hiện nóLàm thế nào để kiểm tra biến cá thể được khởi tạo trong bộ điều khiển với RSpec
điều khiển khách hàng
def new
@client = Client.new
end
thử nghiệm
describe "GET 'new'" do
it "should be successful" do
get 'new'
response.should be_success
end
it "should create a new client" do
get 'new'
assigns(:client).should == Client.new
end
end
Kết quả trong ...
'ClientsController GET 'new' should create a new client' FAILED expected: #, got: # (using ==)
Có lẽ vì nó đang cố gắng so sánh 2 bản ghi hoạt động, khác nhau. Vì vậy, làm thế nào để kiểm tra xem bộ điều khiển thiết lập một biến cá thể chứa một cá thể mới của mô hình Client.
Nếu Im làm việc với REST và tôi không sử dụng "@" trong bộ điều khiển thì sao? Có cách giải quyết nào không? Cảm ơn – Luccas
Không hoạt động cho đường ray 5. Idiotic ... – asiniy
Đối với đường ray 5, sử dụng 'expect (assigns (: client) .to be_a (Client)' – heyitsjhu