Ho creato un controller in grado di leggere dati API con un URL speciale.Come testare un'API con rspec e capybara su rotaie?
def category
@data = get_api_data(param1)
end
def get_api_data(param1)
"http://my_api_url/param1=#{param1}"
end
Dopo aver creato una vista, posso vedere il risultato dal browser.
Se uso rspec + capibara per fare il test funzione
visit category_path('param1')
Poi voglio confermare un dato API sarà mostrato in vista
expect(page).to have_field('name', with: 'aaa')
Ma il valore @data
essere sempre null. Perché? È necessario eseguire un post di accesso con url api dal codice di prova? Se è necessario, come fare? Il metodo visit
non può accettare altri parametri.
Grazie. Non voglio testare l'API reale, ma voglio testare una funzionalità che utilizza un'API. Quindi dovrei fare i dati falsi nel codice di test. Ho trovato 'https: // github.com/bblimke/webmock'. –