我的规范很好地验证了登录,在验证中我可以访问some_array
,但在some_array
的验证中,它失败了,因为我无法访问它。我需要做一些特殊的事情来测试数组吗?
模型
validates_presence_of :login, :some_array
rspec的
it { should validate_presence_of(:login) }
it { should validate_presence_of(:some_array) }
答案 0 :(得分:1)
没有太多信息可以继续......
您需要考虑的是阵列是如何设置的?
通过每个{}}阻止创建一个全新的WhateverModel
。
创建时是否填充了Whatever.some_array
?
it { expect(WhateverModel.some_array).to_not eq([]) }
it { expect(WhateverModel.some_array).to be }
it { expect(WhateverModel.some_array).to be_kind_of Array }
如果您的"数组"是某种模型关系,然后还有其他的匹配。
有很多匹配器可能会在文档中看到更有用的内容:https://relishapp.com/rspec/rspec-expectations/docs/built-in-matchers