在rspec中别名'it'

时间:2012-09-07 11:50:54

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

我正试图在rspec中为ROR应用程序编写一些测试(不是代码覆盖,但不相关),至少需要别名描述和它。我可以将别名描述得很好,因为它位于顶层。但是,我无法得到任何其他工作。喜欢这个家伙:

module RSpec
  module Core
    class ExampleGroupMethods
      alias :they :it
    end
  end
end

我在spec文件中包含了它,但我没有得到正确的模块路径。我查看了rspec代码库,但是我碰到了墙,所以我不认为我完全知道自己在做什么。任何提示或资源将不胜感激。

2 个答案:

答案 0 :(得分:18)

您想使用alias_example_to

RSpec.configure do |c|
  c.alias_example_to :they
end

这是RSpec公共API的一部分。

答案 1 :(得分:2)

看起来您想使用define_example_method。这就是RSpec如何定义示例组方法,如itspecify,它们实际上只是彼此的别名。不确定是否有批准的API用于访问它,但您应该能够执行以下操作:

module RSpec
  module Core
    class ExampleGroupMethods
      class << self
        define_example_method :they
      end
    end
  end
end