我有几个控制器已经设置。现在我想开始为他们编写规格测试。是否有自动生成规格文件的命令?我知道rails会为新资源执行此操作,但我不知道它是否也适用于现有的控制器/模型。如何为现有控制器生成规格?
27
A
回答
42
rails g rspec:controller ControllerName
当它要求您覆盖现有控制器时,请键入n
。
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
我经常手动创建规范,因为它相当琐碎。
+6
我注意到有时生成的测试可能比这更详细。特别是当您生成资源时,测试将包含所有REST方法的代码。 – picardo 2010-11-21 17:50:34
+0
您在问题标题中专门说了“现有控制器”,所以我没有注意到您在文本中包含了模型。无论哪种方式,当他们要求覆盖模型或控制器文件将很好地适合您的目的时,重新运行生成器并说“n”。 :) – 2010-11-22 20:47:25
8
有两种选择。如果你想要一个空的规范文件,你可以尝试使用:
rails g rspec:controller ControllerName
现在,如果你想用一个基本的REST控制器初始规格SPEC文件,尝试用:
rails g rspec:scaffold ControllerName
相关问题
- 1. 如何使用rspec生成控制器规格?
- 2. 为什么不是rspec为控制器生成规范?
- 3. 控制器规格+布店
- 4. 我的MVC控制器如何以下列格式生成JSON?
- 5. 如何生成通用表格视图控制器?
- 6. 呈现控制器并使其成为根控制器
- 7. 仅从现有模型/控制器生成测试
- 8. rspec集成/请求规格vs控制器规格重点放在JSON API
- 9. 如何为Pylons控制器生成绝对URL?
- 10. 为RSpec生成丢失规格文件
- 11. 使用的控制器规格
- 12. 用户生成的规格
- 13. 呈现控制器具有α为0.5
- 14. 如何从所有图像规格生成选择列表
- 15. 如何测试控制器规格中的strong_parameters?
- 16. 如何在AuthLogic控制器规格中使用模拟模型?
- 17. 如何干这个RSpec控制器规格?
- 18. 空调控制器生成器
- 19. 使用模式ng控制器作为常规控制器
- 20. 如何获取自定义控制器生成器中的GeneratedAttribute?
- 21. Rspec的:控制器的规格为2级嵌套资源
- 22. 如何控制生成的JAXB枚举
- 23. 如何控制ASP.NET MVC路由生成?
- 24. MVC控制器与出的现成Sitecore的控制器
- 25. 如何在界面生成器中将UITabBarContoller设置为根视图控制器?
- 26. Team Foundation Server的定制托管生成控制器为
- 27. 如何控制类规范
- 28. 如何控制批量生成的顺序→全部生成
- 29. Android动态控制生成器
- 30. 从控制器生成http post请求
这只生成控制器的spec文件。如果你想要关联的文件,比如助手或工厂,那么你需要:'rails g controller ControllerName -s' -s在最后会导致它跳过任何现有的文件,所以你不必担心这个问题关于压倒一切。 – Blimey85 2013-05-14 17:51:44
这适用于模型吗? 'RSpec的:model'?这存在于rspec 1? – 2014-08-04 02:58:52
'rspec'内的命名空间通常会尝试创建控制器吗?或者你在想什么“控制器ControllerName”? – 2016-03-02 03:03:55