[rspec-users] Problems running features with Textmate Cucumber bundle

Ben Mabey ben at benmabey.com
Mon Apr 27 14:40:29 EDT 2009

Rick DeNatale wrote:
> On Mon, Apr 27, 2009 at 11:42 AM, Ben Mabey <ben at benmabey.com> wrote:
>> Do you happen to be explicitly requiring any of your step definitions from
>> your env.rb or other files?  What does your env.rb look like?
> Yes, env.rb is right out of the RSpec book B4.0 'printing' p 43
> $: << File.join(File.dirname(__FILE__), "/../../lib" )
> require 'spec/expectations'
> require 'mastermind'
> You are right that the false is being output by running the command,
> not the command line.  I hacked the runner.rb file in the bundle to
> insert a <br\> between outputting and running the command.
> The mystery is why the same command running in Textmate reloads the
> spec definition, but not when invoked by bash?  And when I add false
> to the end of the command in bash it does.
> Having just typed that I realize that I wasn't really sure that the
> reload WAS the problem running under textmate. So I hacked the run
> method in runner.rb in the bundle to show stderr as well as stdout:
>         in_project_dir do
>           @output << %Q{Running: #{full_command = "bash \"2>&1
> #{command} #{@file.rake_task} #{argv.join(' ')}\""} \n}
>           @output << "<br\>"
>           @output << Kernel.system(full_command)
>         end
> And this outputs:
> Running: bash "2>&1 cucumber
> /Users/rick/mastermind/features/codebreaker_starts_game.feature
> --format=html"
> bash: 2>&1 cucumber
> /Users/rick/mastermind/features/codebreaker_starts_game.feature
> --format=html: No such file or directory false
> I'm guessing that the file it isn't finding is cucumber?  Is there an
> environment variable I need to set in textmate?

Ahh, I've had similar issues with RSpec's bundle before.  Basically, 
your PATH is not being used for all of your OSX applications. From the 
rspec site[1]:
You may need to adjust the PATH in your ~/.MacOSX/environment.plist file 
to point to the directory
where your ruby and spec executables live. For example:


I will also add a TM_CUCUMBER_BIN constant option so if that is set it 
will use that instead of assuming 'cucumber' is in your path.  I'll let 
you know when that is done.



More information about the rspec-users mailing list