[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: help with running tests for rails using gems



On 06/02/2013 11:55 AM, Praveen A wrote:

We should not be using bundler or rubygems at all. So create a quilt
patch and comment out all usage of bundler and rubygems like require
'rubygems', require 'bundler/setup', Bundler.require etc.

Forgive me, but this seems like advice that is conflicting with the input from Christian. And if taken literally, would fundamentally change how Rails works. Permit me to explain.

From what I can see of the error, the problem isn't in shoulda-matchers lib. Instead what we have is a test failure unrelated to the functionality in shoulda-matchers. That test is attempting to use Rails as a user would and verify that shoulda-matchers works in combination with Rails. A laudable goal.

In this case, shoulda-matchers is creating a minimal test application using Rails itself, and that doesn't work. The use of bundler is in that test application, generated from the following template:

https://github.com/rails/rails/blob/3-2-stable/railties/lib/rails/generators/rails/plugin_new/templates/rails/boot.rb

So, from the symptoms, it appears that rails-32 isn't fully operational. That doesn't surprise me in the least. You can fully pass all of the Rails provided tests and still not have a working system:

  http://intertwingly.net/blog/2010/04/02/System-Testing-Rails-Itself

From what I can see, there is a problem with either how Rails is packaged, or with bundler and/or with rubygems-integration. And it makes sense to resolve that problem before determining how best to proceed with shoulda-matchers.

- Sam Ruby


Reply to: