如何为现有控制器生成规格?

时间:2010-11-21 00:22:04

标签: ruby-on-rails-3 rspec

我已经设置了几个控制器。现在我想开始为它们编写规范测试。是否有自动生成spec文件的命令?我知道rails会为新资源执行此操作,但我不知道它是否也适用于现有的控制器/模型。

3 个答案:

答案 0 :(得分:43)

rails g rspec:controller ControllerName

当它要求您覆盖现有控制器时,请键入n

答案 1 :(得分:9)

有两种选择。如果您想要一个空的spec文件,可以尝试使用:

rails g rspec:controller ControllerName

现在,如果您想要一个具有基本REST控制器初始规格的spec文件,请尝试使用:

rails g rspec:scaffold ControllerName

答案 2 :(得分:4)

如果您已在application.rb中配置了rspec:

config.generators do |g|
  g.test_framework      :rspec
end

然后rails g controller things将起作用。选择不在生成文件时覆盖文件。

所有规范在生成时都如下:

require 'spec_helper'

describe ThingsController do

  it "should be successful" do
    get :index
    response.should be_successful
  end

end

我经常手动创建规格,因为它非常简单。