【发布时间】:2010-11-21 00:22:04
【问题描述】:
我已经设置了几个控制器。现在我想开始为他们编写规范测试。是否有自动生成规范文件的命令?我知道 rails 对新资源执行此操作,但我不知道它是否也对现有控制器/模型执行此操作。
【问题讨论】:
标签: ruby-on-rails-3 rspec
我已经设置了几个控制器。现在我想开始为他们编写规范测试。是否有自动生成规范文件的命令?我知道 rails 对新资源执行此操作,但我不知道它是否也对现有控制器/模型执行此操作。
【问题讨论】:
标签: ruby-on-rails-3 rspec
rails g rspec:controller ControllerName
当它要求您覆盖现有控制器时,输入n。
【讨论】:
rails g controller ControllerName -s 最后的 -s 将导致它跳过任何现有文件,因此您不必担心有关覆盖任何内容的问题。
rspec:model?这存在于 rspec 1 上?
rspec 中命名空间的东西通常会尝试创建控制器吗?或者你在想rails g controller ControllerName 做什么?
有两种选择。如果你想要一个空的规范文件,你可以尝试:
rails g rspec:controller ControllerName
现在,如果您想要一个包含基本 REST 控制器初始规范的规范文件,请尝试:
rails g rspec:scaffold ControllerName
【讨论】:
如果你在 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
我经常手动创建规范,因为它相当简单。
【讨论】:
n 将非常适合您的目的。 :)