I didn't run into that problem, but I'd start by looking at the
"catchall route for "static" content" at the bottom of routes.rb. That
might be producing a result that Cucumber thinks is okay.
Since you asked about sharing experience, here's something that may be
useful: I wrote a little file features/support/factories.rb that loads
factories from Spree and any installed extensions, and pulls in
factory_girl's Cucumber steps as well. (This was based on Spree
0.10.2, so things may have changed by now.) It looks like this:
require 'faker'
require 'factory_girl'
[ File.join(SPREE_ROOT, 'test', 'factories', '*.rb'),
File.join(RAILS_ROOT, 'vendor', 'extensions', '*',
'{test,spec}', 'factories', '*.rb')
].each do |path|
Dir.glob(path).each { |factory| require factory }
end
require 'factory_girl/step_definitions'