首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails -用rspec测试ApplicationController

Rails -用rspec测试ApplicationController
EN

Stack Overflow用户
提问于 2012-10-05 04:36:57
回答 2查看 878关注 0票数 0

我想将常见的控制器操作、索引、显示、创建等放在ApplicationController中,如下所示:

代码语言:javascript
复制
class ApplicationController < ActionController::Base
  respond_to :json

  def index
    #implementation
  end

  def show
   #implementation
  end

  def update
    #implementation
  end
end

该应用程序将只返回JSON。

我编写了以下规范来测试RSPEC的匿名控制器

代码语言:javascript
复制
describe ApplicationController do
  controller do ; end

  describe 'Get :index' do
    it 'should respond to index' do
      get :index

      response.code.should eq "200"
    end
  end
end

上面的规范给出了以下错误:

ActionView::MissingTemplate:缺少模板匿名/索引、带有{:locale=>:en、:formats=>:json、:handlers=>:erb、:builder}的应用程序/索引。搜索:* "#“

有人能给匿名控制器提供一种方法来解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2012-10-05 04:43:24

试试看这可能会有帮助

你的控制器就像

代码语言:javascript
复制
def index
end

您的rspec测试如下

代码语言:javascript
复制
describe "GET index" do
  it "should respond to index" do
    get :index
    response.code.should eq "200"
  end
end

在应用程序/文件夹中创建index.html.erb

那就试一试。

票数 0
EN

Stack Overflow用户

发布于 2012-10-05 07:12:39

描述“获取索引”

代码语言:javascript
复制
it "returns correct JSON" do
  # @groups.should have(2).items
  get :index, :format => :json
  response.should be_success
  body = JSON.parse(response.body)
  body.should include('group')
  groups = body['group']
  groups.should have(2).items
  groups.all? {|group| group.key?('customers_count')}.should be_true
  groups.any? {|group| group.key?('customer_ids')}.should be_false
end

结束

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12739553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档