web-dev-qa-db-ja.com

スタブとモッキートでの違い

私はmockitoが初めてです。

スタブといつの違いを知る必要がある

      1. stub(cpproxy.getBinList()).toReturn(gettestbins());
      2. when(cpproxy.getBinList()).thenReturn(gettestbins());

これら2つの違いは何ですか?

37
Ramya

実際、技術的には同じです。 Mockitoが最初に作成されたとき、私たちはスタブについて話していたので、語彙はその考えに従いました。後で人々はinteractionsではなくtechnical用語で考える方が良いと考えたので、語彙はwhen ... then ...スタイルに従いました。この語彙の変更により、人々は相互作用メッセージングの間で考えるのに役立ちますobject。これは、オブジェクト指向言語( quoting Alan Kay )で最も興味深いアイデア(メッセージパッシング)です。

現在、テストアプローチは(Dan Northからの)Behaviorn Driven Developmentに進化しています。これはほとんど同じですが、設計時の動作にさらに重点を置いています。その考えを反映するために、人々はその変更を反映するAPIを提供するようMockitoに依頼しました。したがって、given ... will ... style from BDDMockitoも使用します

given(the_type.performs_that()).willReturn(something)

テストを使用してオブジェクトの設計を進めている今、これは私の好きな語彙です。

73
Brice