我有一个带有cukes和specs的宝石,扩展了RSpec科目。
所有规格都运行正常但功能似乎没有正确加载当前的gem代码。虽然看起来部分存在。
宝石位于https://github.com/ZenCocoon/rspec-subject-extensions
注意:黄瓜新手,我可能会跳过一些明显的东西。
答案 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
"""
这将解决问题。