Rubyでの実用的なオブジェクト指向設計: アジャイル入門書で、著者は次のように書いています。他のアプリケーション オブジェクトは署名と返される結果に依存するため、テストが必要です。」
diameter
彼女は、「着信メッセージをテストするための最初の要件は、考えられるすべての状況で正しい値を返すことを証明することです」と説明し、仮想Wheel
クラスのメソッドの単体テストの例としてこれを示します。
def test_calculates_diameter
wheel = Wheel.new(26, 1.5)
assert_in_delta(29, wheel.diameter, 0.01)
end
私の質問は、値を返さない着信メッセージはどうですか? 値を返さず、受信オブジェクトの状態を変更するだけのメソッドが 2 つしかないパブリック インターフェイスを持つオブジェクトがあります。そのオブジェクトをまだテストする必要がありますか? もしそうなら、どのように?