2012-01-25 6 views
0

私は(/libディレクトリの下)モジュールを持っている計算にRoRのモジュールのユニットテスト方法は?

module Sbs_score_calculator 
    def self.calculate() 
    ... 
    end 
end 

のようなものです。そして、私はtest/unit

require "test/unit" 
class SbsCalculateTest < Test::Unit::TestCase 

    include Sbs_score_calculator 

    def test_it 
    assert_equals(expected,Sbs_score_calculator.calculate()) 
    end 

end 

の下でテストクラスを作成し、このmodule.Soのユニットテストを作成したい。しかし、それは私に

..../sbs_score_test.rb:5:in `<class:SbsCalculateTest>': uninitialized constant SbsCalculateTest::Sbs_score_calculator (NameError) 
    from ..../sbs_score_test.rb:3:in `<top (required)>' 
    from -e:1:in `load' 
    from -e:1:in `<main>' 

任意のアイデアのようなエラーになりますか?おかげ

答えて

0

あなたはそうのように、中にあなたのモジュールを含むようにダミーのクラスを作成することができます。

require "test/unit" 

class CalculatorDummy 
    include Sbs_score_calculator 
end 

class SbsCalculateTest < Test::Unit::TestCase 

    def test_it 
    assert_equals(expected, CalculatorDummy.calculate) 
    end 
end 

Sbs_score_calculatorがところでSbsScoreCalculatorに名前が付いていない理由は、任意の理由は?

+0

命名規則が悪いです。しかし、私はあなたの方法を試して、 'NameError:初期化されていない定数SbsCalculateTest :: Dummy. –

+0

を持っていて、モジュールをテストするベストプラクティスのようにも聞こえません。 –

+0

あなたのアサートで間違ったクラス名を使用したようです。ダミークラスに与えたクラス名と一致するはずです。 – Frost

関連する問題