【问题标题】:Rspec test not passing because of model name?由于型号名称,Rspec 测试未通过?
【发布时间】:2013-06-03 15:59:18
【问题描述】:

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

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 作为模型吗?将其更改为其他内容即可运行测试。

【问题讨论】:

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


    【解决方案1】:

    这里有几个问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多