Colin Law wrote:
require File.dirname(__FILE__) + '/../test_helper'
I'm hoping there is a better way? Maybe a fix in edge rails? Anyone
have an update?
The recommended way of avoiding this issue is to use
ruby -I test test/unit/whatever.rb
How to get that inside your rake test script?
Apparently putting the dirname in the require can cause all sorts of
issues that I do not understand and we just have to put up with it. (
I don't mean we have to put up with not understanding it).
require '../foo' and require '../../bar/foo' will both load foo.rb twice. This is usually not what you want, but it's a simplification in the current require system. Because all unit tests should run in the same VM, the ones in different folders will load test_helper again.
Won't this fix it?
$:.unshift File.dirname(__FILE__) + '/../'
Then the second occurrence of require 'test_helper' will not load twice, even if (on some dementedly configured system), the require File.dirname(__FILE__) + '/../test_helper' could have instead loaded a different one.