![](/img/trans.png)
[英]rails, rspec, shoulda validate_presence_of failed with setter called twice
[英]How to validate presence of an array in Rails with Rspec?
我的规范在验证登录时工作正常,在该验证中我可以访问some_array
但在验证some_array
时失败,因为我无权访问它。 我需要做一些特殊的事情来测试数组吗?
模型
validates_presence_of :login, :some_array
规格
it { should validate_presence_of(:login) }
it { should validate_presence_of(:some_array) }
没有太多信息要继续,所以......
您首先需要考虑的是数组是如何设置的? 对于其中的每一个,它 { } 阻止了一个全新的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.