Как проверить контроллер без просмотра в rspe c? - PullRequest
1 голос
/ 03 апреля 2020

Я новичок в Rspe c и добавляю тестовые примеры для моего проекта. при тестировании контроллера (пример ниже), как проверить методы в контроллере. когда контроллер возвращает данные из другого сервиса, нужно ли нам добавлять тестовые примеры для этого сервиса?

Module Api
 class QuoteController

    def index
       Lib::Service::QuoteSearch() //returns json array of 
    end

    def show
    end

 end
end

класс обслуживания

Module Lib
 class Service
  include HTTParty 
  base_uri "https://www.quotescomare.com"

  class << self
    def filter_json(response)
      //sort highest price to lowest
    end

    def QuoteSearch
     begin 
       response = HTTParty.get(url)
       if response.successful?
         filter_json(response)
       else
         raise 'invalid response'
       end
     end
   end
  end
 end
end

1 Ответ

1 голос
/ 03 апреля 2020

Вы можете добавить два теста для него, как вы предлагаете в вопросе. Один для QuoteController - это вызов и обслуживание, возвращающий массив json, во-вторых, другой тестовый набор для Lib::Service::QuoteSearch(), чтобы проверить правильность результата. Один для QuoteController может быть.

require 'rails_helper'

RSpec.describe QuoteController do
  describe 'GET index' do
    it '[fill here for your case]' do
      ...
      get :index
      expect(response).to have_http_status(:success)
      ...
    end
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...