如何在Ruby/Rails规范中引用属性



我正在努力遵循这些准则来编写我的规范:更好的规格

在Ruby中,通常使用.method_name::method_name来引用类方法,并使用#method_name作为实例方法。同样的约定适用于Rails模型属性吗?

例如,我的规范应该这样写吗:

describe ' #exam_code should be unique'

我使用这个样式指南https://github.com/bbatsov/rails-style-guide#rspec

describe '#some_attr' do
  it 'is required' do
    #your spec
  end
end

我建议,是的,您应该遵循属性的RoR约定。从这个角度考虑:Rails中的"attribute"只是自动创建访问器方法的一种方便方法。

至于rspec,我更喜欢上面描述的方法,将属性放置在它们自己的描述块中。我通常会这样处理:

describe Test do
  subject { Test.new(exam_code: exam_code) }
  let(:exam_code) { 'test1' }
  describe '#exam_code' do
    context 'when nil' do
      it { should_not be_valid }
    end
  end
end

我倾向于将方法名称放在description子句中,并将其条件放在it子句中,如下所示:

describe :exam_code do
  it "should be unique" do
    #spec code here
  end
end

相关内容

  • 没有找到相关文章

最新更新