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) и т. д.)