我已经设置了几个控制器。现在我想开始为它们编写规范测试。是否有自动生成spec文件的命令?我知道rails会为新资源执行此操作,但我不知道它是否也适用于现有的控制器/模型。
答案 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
我经常手动创建规格,因为它非常简单。