rspec中上下文的条件过滤器?

时间:2016-04-13 20:25:31

标签: ruby-on-rails tdd rspec-rails

有没有办法在rspec中为上下文设置条件过滤器?

我有一个变量的上下文,只有在特定变量!= 1时才有效,所以我想用它作为该上下文测试的过滤器。我无法在测试中使用过滤器,因为我使用所述变量来设置该测试的上下文(请参阅下面的理想状态):

context 'if interval is not 1 every non interval day', :if => Reminders::INTERVAL != 1  do
        num = rand(0..100)
        non_limbo = num + num/(Reminders::INTERVAL - 1) + 1

        let!(:evaluation) { create(:evaluation, created_at: non_limbo.days.ago) }

        it 'doesn't send an email' do
          expect { subject }.to change { ActionMailer::Base.deliveries.count }.by(0)
        end
      end

1 个答案:

答案 0 :(得分:3)

您可以在条件中包围整个上下文:

if Reminders::INTERVAL != 1
  context 'if interval...' do
    # ...
  end
end