【发布时间】:2014-02-13 03:53:08
【问题描述】:
我想在 RSpec 中将我的响应类型验证为 JSON,但 respond_with_content_type 在 shoulda-matchers 中不再可用。
参考:https://github.com/thoughtbot/shoulda-matchers/issues/252
我正在使用:
- 导轨 (4.0.2)
- rspec-rails (2.14.1)
- 应该匹配器 (2.5.0)
这是我的控制器:
class BrandsController < ApplicationController
def create
@brand = Brand.new(permitted_params)
if @brand.save
render :json => permitted_params, :status => 200
else
render :nothing => true, :status => 500
end
end
private
def permitted_params
params.require(:brand).permit(:name)
end
end
这是我的规格:
require 'spec_helper'
describe BrandsController do
describe 'POST create' do
context 'with empty data' do
before(:each) { post :create, brand: { name: '' } }
it { should respond_with 500 }
end
context 'with invalid data' do
before(:each) { post :create, brand: { name: '123' } }
it { should respond_with 500 }
end
context 'with valid data' do
before(:each) { post :create, brand: { name: 'somebrand' } }
it { should respond_with 200 }
# should respond with JSON type
end
end
end
任何提示都会对我有用。谢谢!
【问题讨论】:
标签: ruby-on-rails rspec tdd