首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shoulda和RSpec之前

Shoulda和RSpec之前
EN

Stack Overflow用户
提问于 2013-04-16 22:18:34
回答 1查看 72关注 0票数 1

在测试模型字段的有效性之前,我尝试在主题中设置一个实例变量。我需要设置这个变量,因为验证是有条件的(它只用于某些类型的用户)。所以我有这样的东西:

代码语言:javascript
复制
  context "as a user" do

    before(:each) do
      subject = Organization.new
      subject.editor = "user"
    end

    it { subject.should validate_presence_of :name }

  end

但它并没有像预期的那样工作:

代码语言:javascript
复制
 Failure/Error: it { subject.should validate_presence_of :description }
 RuntimeError:
   Organization#editor attr is not set

我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-16 22:26:51

before块中的subject是一个局部变量。看起来你是想用an explicit subject

代码语言:javascript
复制
context "as a user" do
  subject { Organization.new }

  before(:each) do
    subject.editor = "user"
  end

  # usually, you don't explicitly name the subject in an `it` like this
  it { should validate_presence_of :name }

end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16039559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档