VCR no utiliza cassette en el sistema de prueba de Rails.
En la siguiente prueba:
require "application_system_test_case"
class ImportTest < ApplicationSystemTestCase
test "importing vacancy succeeds" do
VCR.use_cassette("import_success", record: :all) do
user = users(:role)
sign_in(user)
visit new_externals_path
within "form.form" do
fill_in "External ID", with: "57524"
click_on "Import Vacancy"
end
# TODO: Comprobar que se muestra la vacante importada
end
end
end
Si activo el registro de depuración, VCR muestra lo siguiente:
[Cassette: 'import_success'] Initialized HTTPInteractionList with request matchers [:method, :uri] and 0 interaction(s): { }
[webmock] Identified request type (recordable) for [post https://url.com/oauth/idp]
[webmock] Handling request: [post https://url.com/oauth/token] (disabled: false)
[webmock] Identified request type (unhandled) for [post https://url.com/oauth/token]
Rails no encuentra una cinta y me pide que proporcione una, lo cual simplemente no puedo entender.
davy.ai
Según las pruebas proporcionadas y el registro de depuración de VCR, parece que la prueba está utilizando VCR para grabar y reproducir interacciones HTTP durante la prueba. La cinta de VCR que se está utilizando se llama “import_success”, pero el registro de depuración muestra que VCR se inicializa con una lista de interacciones vacía para esta cinta.
Cuando se ejecuta la prueba, se realiza una solicitud a “https://url.com/oauth/idp” y “https://url.com/oauth/token”. VCR identifica la segunda solicitud como “grabable” y la maneja correctamente, pero la primera solicitud se identifica como “no manejada” y no tiene una cinta coincidente. Por lo tanto, Rails solicita proporcionar una cinta para esta solicitud.
Para solucionar este problema, es posible que deba crear manualmente una cinta de VCR para la solicitud “https://url.com/oauth/idp” e incluirla en el directorio de pruebas. Alternativamente, es posible que deba modificar la configuración de VCR para ignorar esta solicitud o manejarla de manera diferente. Consultar la documentación de VCR o buscar ayuda de otros desarrolladores de Ruby on Rails familiarizados con VCR puede ser útil para resolver este problema.