【问题标题】:Why won't Team City load shoulda-matchers when it runs my tests?为什么 Team City 在运行我的测试时不会加载 shoulda-matchers?
【发布时间】:2013-03-08 17:29:21
【问题描述】:

我正在使用 rspec-rails 测试我的 rails 应用程序,尤其是对于模型,应该使用 shoulda-matchers。当我在本地运行测试时,它们都运行良好,但是当我部署到我们的 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 在开发和测试组中。

【问题讨论】:

  • 你确定你的测试服务器是在测试环境而不是开发环境中运行吗?尝试将 shoulda-matchers 放在 test/dev 组中
  • 就是这样,约翰。谢谢。把你的评论变成答案,我会接受的。

标签: ruby-on-rails continuous-integration teamcity


【解决方案1】:

您确定您的测试服务器是在测试环境而不是开发环境中运行吗?尝试将 shoulda-matchers 放在 test/dev 组中

【讨论】:

    猜你喜欢
    • 2011-05-05
    • 2016-06-30
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2014-04-05
    相关资源
    最近更新 更多