3

I am testing a gem with Aruba. My problem is that even when I do not have anything in bin directory the step When I run 'executable' is passing. Here is the scenario.

 Scenario: Send SMS When I run `serialsms` Then message should be sent 

feature/support/env.rb

$LOAD_PATH.push File.join(File.dirname(__FILE__), "/../../lib" ) ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}" require 'serial_sms' require 'aruba/cucumber' 

cucumber output

 Scenario: Send SMS # features/send_sms_cli.feature:7 When I run `serialsms` # aruba-0.4.9/lib/aruba/cucumber.rb:56 Then message should be sent # features/send_sms_cli.feature:9 1 scenario (1 undefined) 2 steps (1 undefined, 1 passed) 0m0.123s You can implement step definitions for undefined steps with these snippets: Then /^message should be sent$/ do pending # express the regexp above with the code you wish you had end 

Is this the normal behavior of Aruba or am I doing something wrong.

1 Answer 1

3

If you add the @announce hook before your feature definition you can get some expanded information about what aruba is doing.

In particular aruba does a lot of funky things with creating a tmp directory for itself, copying your sources around etc. However that might not be your issue.

IIRC the step definition for

When I run "foo" 

is not one that will fail it doesn't have asserts or matchers. You need to follow it with something like

Then it should pass .... 

to get a failing test (checks for exit code, things send to STD(OUT|ERR) etc.)

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.