序文
RSpecを初めて使ってみましたので手順を残します。
コントローラを作りましょう
class Api::V1::TheDogController < ApplicationController
def index
render json: { breed: 'shepard'}
end
end
route.rbのパスを通しましょう。
Gemfileにrspecを入れましょう
group :development do
gem 'rspec-rails'
end
specファイルを作りましょう
rails g rspec:install
rails g rspec:controller the_dog
require 'rails_helper'
RSpec.describe Api::V1::ThdDogController do
render_views
describe "GET /index" do
it do
request.env["HTTP_ACCEPT"] = 'application/json'
get :index, format: :json, params: { call: "oh my dog"}
json = JSON.parse(response.body)
p json
expect(json["breed"]).to eq "shepard"
end
end
end
テスト環境設定
テスト環境の設定ができているか見直しましょう.
環境依存ですが、筆者の場合は下記が必要でした
- config/database.ymlにテスト用のDBを指定
- credetialのtest.yml.encの設定
- config/settings/test.yml
- rails db:environment:set RAILS_ENV=test
テスト実行
bundle exec rspec