0

在 RSpec 中,我可以为示例提供别名。例如,alias_example_to. 是否有任何别名示例组的方法?我只能使用describecontext。但我想使用,说featurescenario...等。例如,

describe MyObject do
  scenario "doing smth with object" do
  ...
  end
end

我在http://benediktdeicke.com/2013/01/custom-rspec-example-groups/上找到了一篇文章。有没有其他方法可以给示例组起别名。

4

2 回答 2

2

当我解释 github 时,此功能是通过https://github.com/rspec/rspec-core/issues/493请求的,并且正在等待通过https://github.com/rspec/rspec-core/pull/870进行集成。它尚不可用。

于 2013-06-26T00:54:22.607 回答
1

在发布该功能之前,可能的解决方法是:

# spec/support/example_group_aliases.rb
module ExampleGroupAliases
  extend ActiveSupport::Concern

  included do
    class << self
      alias_method :simple, :context
    end
  end

  module ClassMethods
    def fancy(description, options = {}, &block)
      context(description, options.merge(:fancy => true), &block)
    end
  end

  RSpec.configure do |config|
    config.include self
  end
end

该代码显示了为该方法定义别名的两种context方法。第一个 ( simple) 正在使用alias_method. 第二个 ( fancy) 是定义一个新方法,然后调用原始context方法。最后一种方法允许您做其他事情,例如添加更多选项。

于 2013-06-26T07:01:19.313 回答