由于型号名称,Rspec测试未通过?

时间:2013-06-03 15:59:19

标签: ruby-on-rails-3 rspec ruby-on-rails-3.2

我正在测试我的用户模型,他们可以有很多别名:

describe User do
  describe "alias associations" do

    before { @user.save }
    let!(:first_alias) do
      FactoryGirl.create(:alias, user: @user, created_at: 1.day.ago)
    end

    let!(:second_alias) do
      FactoryGirl.create(:alias, user: @user, created_at: 1.hour.ago)
    end

    it "User should have many aliases" do
      @user.aliases.should == [first_alias, second_alias]
    end

    it "should destroy associated aliases" do
      aliases = @user.aliases.dup
      @user.destroy
      aliases.should be_empty

      aliases.each do |aliases|
        Alias.find_by_id(alias.id).should be_nil
      end

    end
  end
end

我的Rspec测试给我一个循环。我有一个名为Alias的模型,它给了我这个错误:

 syntax error, unexpected keyword_alias, expecting ')' (SyntaxError)
        Alias.find_by_id(alias.id).should be_nil

当我alias.id时,它被认为是一个问题。

为什么我收到此错误?是因为我使用Alias作为模型吗?将其更改为其他内容可以使测试运行。

1 个答案:

答案 0 :(得分:2)

这里有几个问题:

  1. 不要使用别名,因为它是保留字
  2. 您将aliases传递给了阻止而不是alias