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



大家好。

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

例如,我的控制器中有两个操作。

class UsersController < ApplicationController 
   def show
      #...
   end
   def inspect 
      #...
   end
end

和一个共享的示例:

shared_examples "test" do 
  #...some examples
  it "raise an exception" do 
    # ... 
  end
end

然而,当我们调用"inspect"时,它不会引发异常并导致测试失败。当我尝试测试"检查"操作时,是否可以临时禁用或删除测试用例?(在实际情况中,许多不同的测试都使用了共享的示例,只有一个具有不同的行为。(

非常感谢。

您应该能够将它们标记为broken,即排除基于标志的示例。点击此处查看更多信息。

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

最新更新