如何使用Rspec验证Rails中是否存在数组?

时间:2017-07-11 16:26:12

标签: ruby-on-rails rspec

我的规范很好地验证了登录,在验证中我可以访问some_array,但在some_array的验证中,它失败了,因为我无法访问它。我需要做一些特殊的事情来测试数组吗?

模型

  validates_presence_of :login, :some_array

rspec的

  it { should validate_presence_of(:login) }
  it { should validate_presence_of(:some_array) }

1 个答案:

答案 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