2017-07-19 6 views
0

Railsで非ActiveRecordモデルクラスをテストするにはどうすればよいですか?コンソールで動作するコードは、テストスイートに変換されていないようです。メソッドは利用できず、すべてが機能していないようです!非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.rbrequire 'calender_event'にも可能です。

+0

ああ、私はちょっと愚かな気がする。ありがとう。 Rails/Rubyの命名規則は、私をいつも動かす。一口。私は疲れていますが、あなたの素早い反応が私を助けてくれたと言いたいと思います!ありがとうございました! – thornomad

+1

ようこそ:)レールは脳を傷つけますが、私は認めます! – mudasobwa

関連する問題