1
我使用rspec-rails测试我的rails应用程序,特别是对于模型,shoulda-matchers。当我在本地运行它们时,测试都运行良好,但是当我部署到Team City服务器时,使用shoulda-matchers的每个测试都会失败,因为它找不到应该由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的运行测试的方式略有不同,但我看不出它如何防止这种情况从被加载的宝石。
可能有关,我的几个水豚,WebKit的测试也失败:
Capybara::DriverNotFoundError: no driver called :webkit was found, available drivers: :rack_test, :selenium
的早该-匹配器,水豚,水豚和 - WebKit的宝石都在我的Gemfile“测试”组中; rspec-rails在开发和测试组中。
您确定您的测试服务器正在运行测试环境而不是开发环境?尝试在测试/ dev组中放入shoulda-matchers – John 2013-03-24 22:04:48
就是这样,John。谢谢。把你的评论变成答案,我会接受它。 – sockmonk 2013-03-25 18:59:59