Я только что установил камень aruba , который является расширением для огурца. Он позволяет вам тестировать приложения командной строки - например, генераторы в Rails (но, как указывается в документации, вы можете использовать его для любого приложения cmd).
Я следил за этой основной лабораторной статьей об ее использовании, но по какой-то причине он не прошел первый шаг: первый шаг - зеленый (создание приложения), но следующий шаг пытается cd test_app
и не может найти его и не удается.
Given I run "rails new test_app" # features/step_definitions/aruba_steps.rb:95
And I cd to "test_app" # features/step_definitions/aruba_steps.rb:91
tmp/aruba/test_app is not a directory. (RuntimeError)
./features/step_definitions/aruba_steps.rb:92:in `/^I cd to "([^"]*)"$/'
features/generators.feature:9:in `And I cd to "test_app"'
Может показаться, что папка приложения на самом деле не создается, хотя, глядя в базовый каталог, я вижу, что tmp / aruba / fold равен . Пройдя немного по источнику, я не могу придумать, почему.
Кто-нибудь еще имел опыт работы с этим камнем и нашел то же самое?
Есть ли хорошие альтернативы BDD для тестирования генераторов или рейка и т.д.?
Далее Райансу ответят:
Как только я добавил следующее в features/support/env.rb
(работает из каталога base rails):
Before do
@dirs = [File.expand_path(File.dirname(__FILE__) + '/../../../aruba_test_dir')]
end
Так что огурец строит приложение вне текущего приложения rails, это решает проблему.