Rspec,期望改变范围

时间:2011-07-21 18:33:43

标签: ruby-on-rails rspec scope

我在Rspec中编写了以下测试:

expect {
         ...
        }.to change( User.where(:profile.exists => true), :count ).by(1)

但是此范围仅执行一次,并且它始终是具有相同大小的相同Array。如何使rspec在expect中运行代码之前和之后执行此范围?

1 个答案:

答案 0 :(得分:4)

OPs解决方案,作为答案发布

对于有类似问题的其他人,这可能适用也可能不适用。原始问题中没有包含语料库,也没有单独验证。

expect {
  # test goes here
}.to change{ User.where(:profile.exists => true).count }.by(1)