【发布时间】:2015-04-14 15:47:42
【问题描述】:
我正在开发我的第一个 Ruby gem,并捆绑了 cucumber、rspec 和 shoulda-matches 进行测试。当我运行 rspec 时,我收到以下错误:
/app/my_gem/spec/spec_helper.rb:6:in `<top (required)>': undefined method `configure' for Shoulda::Matchers:Module (NoMethodError)
这是我的宝石规格:
# my_gem.gemspec
...
Gem::Specification.new do |spec|
...
...
spec.add_development_dependency "activemodel"
spec.add_development_dependency "bundler", "~> 1.8"
spec.add_development_dependency "cucumber"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "rspec"
spec.add_development_dependency "shoulda-matchers"
end
我的spec_helper.rb:
require 'my_gem'
require 'pry'
require 'shoulda/matchers'
Shoulda::Matchers.configure do |config|
config.integrate do |with|
with.test_framework :rspec
# with.library :active_record
with.library :active_model
# with.library :action_controller
# Or, choose all of the above:
# with.library :rails
end
end
由于某种原因,它找到了 Shoulda::Matchers 但没有找到 .configure 方法。我是否以某种方式要求shoulda 错误?不确定这是否相关,但 rspec 也给了我这个警告:
WARN: Unresolved specs during Gem::Specification.reset:
json (>= 1.7.7, ~> 1.7)
minitest (~> 5.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
感谢您的指点!
【问题讨论】:
标签: ruby-on-rails ruby rspec gem shoulda