无法在我的计算机上运行测试,但同事可以在他们的计算机上运行(相同的代码库/分支)

时间:2014-09-03 18:55:24

标签: ruby-on-rails git bundler

我无法在计算机上运行测试,但是当我将分支推送到GitHub并将它们拉入时,它们就可以运行它们。

显然,这意味着我们的代码库是相同的,包括GemfileGemfile.lock

我的应用程序在development中运行,因此我的宝石显然存在。

阻止测试运行的test环境有什么不同?

我唯一能想到的是代码库之外还有一些东西负责这个。也许是~/.gem/~/.rvm/下的某些内容 - 但我不知道在哪里寻找线索。想法?

测试尝试失误:

/Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `require': cannot load such file -- minitest/rails (LoadError)
  from /Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `block in require'
  from /Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:214:in `load_dependency'
  from /Users/bsimpson/.rvm/gems/ruby-2.0.0-p481@books/gems/activesupport-4.0.5/lib/active_support/dependencies.rb:229:in `require'
  from /Volumes/MyHD/Users/bsimpson/Dev/books/books/test/test_helper.rb:10:in `<top (required)>'
  from test/controllers/photos_controller_test.rb:1:in `require'
  from test/controllers/photos_controller_test.rb:1:in `<main>'

宝石列表 - 本地| grep minitest

minitest (4.7.5, 4.3.2)
minitest-capybara (0.5.0)
minitest-metadata (0.5.0)
minitest-rails (0.9.2)
minitest-rails-capybara (0.10.0)
minitest-test (1.1.0)

1 个答案:

答案 0 :(得分:0)

您的应用程序在开发中工作的事实并不意味着所有宝石都存在。测试不是在开发环境中进行,而是在测试环境中进行。

尝试跑步:

bundle install

由于缺少源依赖性,可能无法正确安装某些gem。尝试查看bundle install是否返回任何错误。

第2部分

我注意到你使用了active_support 4.0.5。我试图找到升级minitest gem是否能解决问题。我不确定这是否可行,因为不同的网站为您的版本的活动支持提供最小版本的minitest。跑步:

gem install minitest --version '=5.1'

并重新启动一切解决问题?

我们能看到您的Gemfile吗?

第3部分

还值得尝试:在终端中转到Rails应用程序目录并运行:

rm ./Gemfile.lock 

bundle install

这可能会更新您的宝石。