Rails - Rspec:是否可以在shared_example中排除/删除测试用例?

时间:2016-08-08 09:33:04

标签: ruby-on-rails rspec

大家好。

我一直致力于一个项目,并希望使用共享示例组来管理我的RSpec测试。

例如,我的控制器中有2个动作。

class UsersController < ApplicationController 

   def show
      #...
   end

   def inspect 
      #...
   end
end

和shared_example:

shared_examples "test" do 

  #...some examples

  it "raise an exception" do 
    # ... 
  end
end

但是,当我们调用&#34; inspect&#34;时,它不会引发异常并导致测试失败。当我尝试测试&#34;检查&#34;有可能我可以暂时禁用或删除测试用例。行动? (在实际情况中,共享示例已被许多不同的测试使用,只有一个具有不同的行为。)

万分感谢。

1 个答案:

答案 0 :(得分:0)

您应该能够将它们标记为broken,即根据标记排除示例。查看有关here的更多信息。

RSpec.configure do |c|
  # declare an exclusion filter
  c.filter_run_excluding :broken => true
end

尝试在单独的上下文中声明配置,您将仅测试inspect,以便配置不会影响其他使用您拥有的共享示例的示例。

例如:

 it "raise an exception", :broken => true do 
    # this spec will not run
  end