簡體   English   中英

Ruby,Rspec和要求測試的控制器

[英]Ruby, Rspec, and requiring test contoller

我是Ruby(RoR)和rspec的新手。

我在project/app/controllers/books_controller.rb有基本的項目支架和控制器

然后我試圖在project/spec/controllers/book_spec.rb設置rspec

還存在book_spec.rb所需的project/spec/spec_helper.rb 該文件是我嘗試包含books_controller.rb文件的位置。

如何包含books_controller.rb文件,使book_spec.rb具有Book對象,因此在我運行rspec時可以工作嗎?

目前,我已經嘗試過諸如require_relative "../app/controllers/books_controller"類的東西,但是它不起作用。 它給我一個錯誤,如:

uninitialized constant ApplicationController ... in 'require_relative'

任何幫助都會很棒。

您無需手動包括控制器,只需遵循rspec命名約定並描述所需的對象,一切都會正常進行。

您的控制器規格應命名為books_controller_spec.rb 該名稱與控制器的名稱_spec並在末尾添加_spec 這不是一個硬性要求,而是一個強烈建議的約定,因為book_spec.rb實際上暗示着Book模型規范而不是控制器。

關鍵部分是在您的規范中描述了所需的對象,例如

describe BooksController do
  #...
end

您可能還想看看rspec-rails gem,它為spec提供了一些有用的生成器 理想情況下,您需要與Rails集成,因此,無論何時生成新模型或控制器,都會為您創建新規范。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM