我正在使用 rspec-rails 测试我的 rails 应用程序,尤其是对于模型,应该是匹配器。当我在本地运行测试时,它们都运行良好,但是当我部署到我们的 Team City 服务器时,每个使用 shoulda-matchers 的测试都会失败,因为它找不到应该由 shoulda-matchers 提供的方法。例如,一个规范以:
require 'spec_helper'
describe Availability do
it { should belong_to(:user) }
end
此规范因错误而失败:
NoMethodError: undefined method `belong_to' for #<RSpec::Core::ExampleGroup::Nested_423:0x000000199a6348>
TeamCity 运行测试的方式略有不同,但我看不出它会如何阻止这个 gem 被加载。
可能相关,我的几个 capybara-webkit 测试也失败了:
Capybara::DriverNotFoundError: no driver called :webkit was found, available drivers: :rack_test, :selenium
shoulda-matchers、capybara 和 capybara-webkit gem 都在我的 Gemfile 中的“test”组中;rspec-rails 在开发和测试组中。