Gem功能无法正确加载实际的gem代码

时间:2011-07-02 09:10:51

标签: ruby load cucumber gem

我有一个带有cukes和specs的宝石,扩展了RSpec科目。

所有规格都运行正常但功能似乎没有正确加载当前的gem代码。虽然看起来部分存在。

宝石位于https://github.com/ZenCocoon/rspec-subject-extensions

注意:黄瓜新手,我可能会跳过一些明显的东西。

1 个答案:

答案 0 :(得分:1)

这是因为rspec是作为一个单独的进程启动的。您在Cucumber功能中定义的spec文件不需要这些扩展,因此它们将不可用。它在RSpec测试中工作的原因是因为你需要这些扩展。

要解决此问题,您可以在Cucumber功能的顶部添加一行,以要求rspec/subject/extensions.rb文件:

Given a file named "example_spec.rb" with:
"""
  require 'rspec/subject/extensions'

  class Movie
    def ratings
      [9, 7, 9]
    end
  end

  describe Movie do
    each(:rating) { should be_an(Integer) }
  end
"""

这将解决问题。