Here is my directory structure:
/features/ninja.feature
/features/step_definitions/ninja_steps.rb
/src/ninja.rb
When I run
cucumber
in the root of my project, I get an uninitialized string constant Ninja (NameError)
error. I've determined it's caused by this line in my ninja_steps.rb
file:
@ninja = Ninja.new :belt_level => belt_level
In my ninja.rb
file:
class Ninja
def initialize (belt_level)
end
end
Do I need to add some sort of require
at the top of my ninja_steps.rb file, or what? I can't seem to figure out how to do that so that it doesn't bomb out.
Did you try adding an include at the top of the ninja_steps? Something like
should do the trick. Otherwise, cucumber has no idea what a Ninja is. :)
To load all those files in a slightly different way than Bill Turner suggests, taking a hint from projects like cucumber/aruba:
https://github.com/cucumber/aruba/blob/master/features/support/env.rb