2017-07-19 48 views
0

如何在Rails中測試非ActiveRecord模型類?在控制檯中工作的代碼似乎不能轉化爲測試套件。方法不可用,整個事情似乎不起作用!如何在rails中測試非ActiveRecord模型?

class CalendarEvent 

    def test 
    'Hello World' 
    end 

end 

當我火了控制檯,這個工程:

irb> cal_event = CalendarEvent.new 
=> #<CalendarEvent:0x007fb5e3ee9fd0> 
irb> cal_event.test 
=> "Hello World" 

然而,當我寫一個測試,似乎模型沒有加載。沒有可用的功能。

class CalendarEvent < ActiveSupport::TestCase 
    include TestApiHelperPackage 

    test 'validate hello world' do 
    cal_event = CalendarEvent.new 
    assert_equal cal_event.test, 'Hello world' 
    end 
end 

好像不是抓住模型。我必須不是繼承自ActiveSupport::TestCase

回答

3

我很驚訝,它甚至運行。您在測試套裝中聲明CalendarEvent類。其中顯然沒有test方法。你爲什麼要把它命名爲,與完全一樣,作爲測試類?請給它另一個名字:

#     ⇓⇓⇓⇓ HERE 
class CalendarEventTest < ActiveSupport::TestCase 
    include TestApiHelperPackage 

    test 'validate hello world' do 
    cal_event = CalendarEvent.new 
    assert_equal cal_event.test, 'Hello world' 
    end 
end 

而且一切都應該很好。可能你還想在test_heler.rb中使用require 'calender_event'

+0

哦,天啊 - 我覺得有點傻。謝謝。 Rails/Ruby中的命名約定總是讓我感動。嘆。我想說這只是我累了,但你的快速反應救了我!謝謝! – thornomad

+1

歡迎:) Rails會傷害大腦,我承認! – mudasobwa

相關問題