CLI-тестирование на Ruby Gem с Aruba

Я тестирую драгоценный камень с Арубой. Моя проблема в том, что даже когда у меня ничего нет в каталоге bin, шаг При запуске 'исполняемый файл' проходит. Вот сценарий.

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

функция / поддержка /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'

выход огурца

  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

Это нормальное поведение Арубы или я что-то не так делаю.

1 ответ

Если вы добавите @announce подключившись к определению вашей функции, вы можете получить более подробную информацию о том, что делает aruba.

В частности, aruba делает много прикольных вещей, создавая для себя каталог tmp, копируя ваши исходники и т. Д. Однако это может и не быть вашей проблемой.

IIRC определение шага для

When I run "foo"

не тот, который потерпит неудачу, у него нет утверждений или соответствий. Вы должны следовать за чем-то вроде

Then it should pass ....

чтобы получить неуспешный тест (проверяет код выхода, отправляет данные в STD(OUT|ERR) и т. д.)

Другие вопросы по тегам