Ruby on rails 在rspec中写入测试用例时出错

Ruby on rails 在rspec中写入测试用例时出错,ruby-on-rails,ruby,testing,rspec,Ruby On Rails,Ruby,Testing,Rspec,大家好,我正在学习用ruby编写带有Rspec的测试用例,并遵循这一点。因此,在测试以下情况时 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

大家好,我正在学习用ruby编写带有Rspec的测试用例,并遵循这一点。因此,在测试以下情况时

 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


请帮忙

我看到您正在为新书类传递字符串值,尽管您没有指定要将其绑定到的属性

尝试:


另外,请确保模型验证和质量分配安全设置正确,但您的测试很快就会指向您。

我看到您正在为新书类传递字符串值,尽管您没有指定要将其绑定到的属性

尝试:


还要确保模型验证和mass_赋值安全设置正确,但测试很快就会将您带到那里。

在方法调用和参数列表之间有额外的空间

Book.new (...)
…不同于:

Book.new(...)

在方法调用和参数列表之间有额外的空间

Book.new (...)
…不同于:

Book.new(...)