У меня есть приложение Rails 4, в котором используется настраиваемый камень для проверки подлинности, который аутентифицирует пользователей в отношении стороннего API. Приложение требует проверки подлинности для большинства действий на сайте (посетители могут делать очень мало).с использованием видеомагнитофона с Rspec в сценариях функций
Я пытаюсь использовать видеомагнитофон для записи запроса api, сделанного во время аутентификации, для всех тестов интеграции, но все примеры, которые я могу найти в SO и в документации Relish, охватывают только то, как это сделать с помощью Rspec в описании делать»спецификации, как указано здесь:
https://www.relishapp.com/vcr/vcr/v/1-6-0/docs/test-frameworks/usage-with-rspec
поскольку ни клиенты не участвуют в этом проекте, я пишу тесты интеграции с Rspec и Капибарой вместо огурца, так что мои тесты с помощью„функции/сценария“ формат такой:
feature 'posts' do
scenario 'a user can log in' do
# use vcr for api request
sign_in_user # refers to a method that handles the api call to log in a user, which is what I would like VCR to record.
expect(page).to have_content("User signed in successfully")
end
end
Используя команду, описанную в документации:
use_vcr_cassette
внутри блока «сценария», возвращает ошибку:
Failure/Error: use_vcr_cassette
undefined local variable or method `use_vcr_cassette' for #<RSpec::ExampleGroups::Posts:0x007fb858369c38>
Я следовал документацию установки видеомагнитофона в моей спецификации/rails_helper. гь (который входит в спецификации/spec_helper.rb) ... который в основном выглядит следующим образом:
require 'vcr'
VCR.configure do |c|
c.cassette_library_dir = 'support/vcr_cassettes'
c.hook_into :webmock
end
Очевидно добавлен драгоценный камень «Видеомагнитофон» моей Gemfile де velopment/test group, и это вещь в консоли и binding.pry изнутри теста.
Кто-нибудь использовал видеомагнитофон внутри функции Rspec? или какие-либо предложения о том, что я могу сделать в качестве обходного пути?
Заранее спасибо
Это очень устаревшая версия видеомагнитофона, которую я угадываю, это не то, что спутник снес. Взгляните на более свежие примеры здесь: https://www.relishapp.com/vcr/vcr/v/2-9-3/docs – Anthony
Я не настроил видеомагнитофон, но наши тесты имеют это: 'feature ' posts ",: vcr do' (и есть некоторая конфигурация) ... но это просто автоматически создает кассеты с видеомагнитофоном, названные в честь сценария spec + –
Похоже, что это может быть то, что у нас есть для нашей системы: http: // www .Shaunambrose.com/2012/03/19/automatic-vcr-cassette-naming-for-rspec-and-oucumber/ –