2017-01-05 150 views
-1

我對Ruby和RSpec非常陌生。我想創建基本規格文件中查找該模塊:測試Ruby模塊

module DownloadAttemptsHelper 

    def download_attempt_filter_select_options 
    search_types = [ 
     [I18n.t("helpers.download_attempts.search_types_default"),   'default'   ], 
     [I18n.t("helpers.download_attempts.search_types_account_id"),  'account_id'  ], 
     [I18n.t("helpers.download_attempts.search_types_remote_ip"),  'remote_ip'  ], 
    ] 
    options_for_select(search_types) 
    end 
end 

小試

describe DownloadAttemptsHelper do 
    it "does something" do 
    expect(1).to be_odd 
    end 
end 

我得到:

`<top (required)>': uninitialized constant DownloadAttemptsHelper (NameError) 

我需要導入的目錄路徑和模塊的名稱? 你可以給我一些非常基本的例子,我如何測試這個模塊?

+0

有很多教程和指南,在互聯網,如何編寫規格,你嘗試過什麼? –

+0

是的,但我對這種語言太陌生了。你能給我一些基本的例子嗎? –

+0

這不是一種語言,它是一個測試框架。這裏是谷歌的第一個鏈接。 https://www.codeschool.com/courses/testing-with-rspec –

回答

-1

你必須包括在RSpec的測試文件的模塊,使它的可用方法的測試案例:如果您使用Rails的

describe "DownloadAttemptsHelper" do 
    include DownloadAttemptsHelper 

    it "does something" do 
    expect(1).to be_odd 
    end 
end 
+0

我再次得到同樣的錯誤:''':未初始化的常量DownloadAttemptsHelper(NameError)'。可能我需要指定目錄和文件位置? –

0

,你需要確保你的模塊被加載時服務器啓動。打開一個rails c並檢查是否可以在那裏訪問你的模塊。如果沒有,你可以像這裏所描述Auto-loading lib files in Rails 4

也就是說,讓Rails的自動加載類的lib目錄下,如果這就是你的助手位於做點什麼。