我有幾個控制器已經設置。現在我想開始爲他們編寫規格測試。是否有自動生成規格文件的命令?我知道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. 爲什麼不是rspec爲控制器生成規範?
- 4. 爲什麼控制器規格失敗?
- 5. Rspec控制器規格
- 6. 控制器規格+布店
- 7. 如何生成Staticpages控制器?
- 8. 我的MVC控制器如何以下列格式生成JSON?
- 9. 如何生成通用表格視圖控制器?
- 10. 呈現控制器並使其成爲根控制器
- 11. 僅從現有模型/控制器生成測試
- 12. rspec集成/請求規格vs控制器規格重點放在JSON API
- 13. 生成控制器MVC C#
- 14. 如何爲Pylons控制器生成絕對URL?
- 15. ActiveAdmin如何與現有的控制器
- 16. 如何生成具有多個集合的表的控制器?
- 17. 如何爲Python製作tripcode生成器?
- 18. 爲RSpec生成丟失規格文件
- 19. 生成不規則名詞的控制器時該怎麼辦?
- 20. DRY rspec的語法控制器規格
- 21. 使用的控制器規格
- 22. RSpec + FactoryGirl和控制器規格
- 23. 存根控制器規格的好處
- 24. 似乎無法禁用導軌生成器生成規格
- 25. 用戶生成的規格
- 26. 呈現控制器具有α爲0.5
- 27. 爲Java中的現有二進制協議生成解析器
- 28. 如何從所有圖像規格生成選擇列表
- 29. 如何測試控制器規格中的strong_parameters?
- 30. 如何在AuthLogic控制器規格中使用模擬模型?
這隻生成控制器的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