0

Rubyでの実用的なオブジェクト指向設計: アジャイル入門書で、著者は次のように書いています。他のアプリケーション オブジェクトは署名と返される結果に依存するため、テストが必要です。」

diameter彼女は、「着信メッセージをテストするための最初の要件は、考えられるすべての状況で正しい値を返すことを証明することです」と説明し、仮想Wheelクラスのメソッドの単体テストの例としてこれを示します。

def test_calculates_diameter
  wheel = Wheel.new(26, 1.5)
  assert_in_delta(29, wheel.diameter, 0.01)
end

私の質問は、値を返さない着信メッセージはどうですか? 値を返さず、受信オブジェクトの状態を変更するだけのメソッドが 2 つしかないパブリック インターフェイスを持つオブジェクトがあります。そのオブジェクトをまだテストする必要がありますか? もしそうなら、どのように?

4

1 に答える 1

0

質問を入力しているうちに、答えがわかったと思います。著者の命名法を使用するには、着信メッセージに応答して送信される発信「コマンド」メッセージをテストする必要があります。

いくつかのコンテキストについて、作者は後で次のように書いいます。適切に送信されます。」

私の場合、私のオブジェクトは、状態が変化したときにメッセージを子に送信するコンテナであるため、オブジェクトのテストでは、それらのメッセージが子に送信されることを確認する必要があります。

于 2013-07-01T19:08:20.083 に答える