CLI-тестирование на Ruby Gem с Aruba - PullRequest
3 голосов
/ 10 декабря 2011

Я испытываю драгоценный камень с Арубой. Моя проблема в том, что даже когда у меня нет ничего в каталоге 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 Ответ

3 голосов
/ 13 января 2012

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

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

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

When I run "foo"

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

Then it should pass ....

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

...