Utworzyłem kontroler, który może odczytać dane API za pomocą specjalnego adresu URL.Jak przetestować API za pomocą rspec i kapibary na szynach?
def category
@data = get_api_data(param1)
end
def get_api_data(param1)
"http://my_api_url/param1=#{param1}"
end
Po utworzeniu widoku, widzę wynik z przeglądarki.
Jeśli używam rspec + kapibary wykonać test Feature
visit category_path('param1')
następnie chcę, aby potwierdzić dane API zostanie pokazany w widoku
expect(page).to have_field('name', with: 'aaa')
Jednak wartość @data
zawsze być null. Czemu? Czy konieczne jest wykonanie adresu dostępu do adresu URL aplikacji API z kodu testowego? Jeśli to konieczne, jak to zrobić? Metoda visit
nie może przyjmować innych parametrów.
Dziękuję. Nie chcę testować prawdziwego interfejsu API, ale chcę przetestować funkcję korzystającą z interfejsu API. Więc powinienem zrobić fałszywe dane w kodzie testowym. Znalazłem 'https: // github.com/bblimke/webmock'. –