[英]Error writing test case in rspec
嗨,我正在學習使用Rspec在ruby中編寫測試用例,並且正在關注此鏈接 。 因此,在測試以下情況時
require 'spec_helper'
describe "Library object" do
before :all do
lib_obj = [
Book.new ("Javascript: The Good Parts", "Douglas Crockford", :development),
Book.new ("Designing with Web Standards", "Jeffrey Zeldman", :design),
Book.new ("Don't make me Think", "Steve krug", :usability),
Book.new ("Javascript Patterns", "Stoyam Stefanov", :development),
Book.new ("Responsive Web Design", "Ethan Marcotte", :design)
]
File.open "books.yml", "w" do |f|
f.write YAML::dump lib_obj
end
end
before :each do
@lib = Library.new "books.yml"
end
describe "#new" do
context "with no parameters" do
it "has no books" do
lib = Library.new
lib.should have(0).books
end
end
context "with a yaml file paramater" do
it "has five books" do
@lib.should have(5).books
end
end
end
it "returns all the books in a given category" do
@lib.get_books_in_category(:development).length.should == 2
end
it "accepts new books" do
@lib.add_book(Book.new("Designing for the Web", "Mark Boulton", :design))
@lib.get_book("Designing for the Web").should be_an_instance_of Book
end
it "saves the library" do
books = @lib.books.map { |book| book.title }
@lib.save
lib2 = Library.new "books.yml"
books2 = lib2.books.map { |book| book.title }
books.should eql books2
end
結束
我收到以下錯誤:
syntax error, unexpected ',', expecting keyword_end
Book.new ("Don't make me Think", "Steve krug", :usability),
這代表數組lib_obj中的所有條目。 我正在使用ruby 1.9.3和rails 3.2.6
請幫助
在方法調用和參數列表之間有多余的空間。
Book.new (...)
...與以下內容不同:
Book.new(...)
我看到您正在為新的Book類傳遞字符串值,盡管您沒有指定要綁定到的屬性。
嘗試:
new_book = Book.new(:name => "string", :cover_image => "string") etc.
還請確保正確設置了模型驗證和mass_assignment安全性,但是您的測試將很快將您引導到該位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.