私はこのドキュメントsinonjs.orgを読んでいましたが、スタブとモックの違いが明確ではありません。
誰かが簡単な言葉と、スタブとモックの違いの例を説明してくれませんか?
PS:モックとスタブ (JMock) の違い
については既に読みましたが、回答には例がありません。
私はこのドキュメントsinonjs.orgを読んでいましたが、スタブとモックの違いが明確ではありません。
誰かが簡単な言葉と、スタブとモックの違いの例を説明してくれませんか?
PS:モックとスタブ (JMock) の違い
については既に読みましたが、回答には例がありません。
私はいくつかの言葉で説明しようとします:
モック:SUTでコラボレーションを検証する場合に使用します。コラボレーターをモックしてから、コラボレーションが完了したかどうかを確認する必要があります。
var collaborator = {};
collaborator.collaboration = sinon.mock();
SUT.setCollaborator(collaborator);
SUT.play();
collaborator.collaboration.verify();
スタブ:SUTの共同作業者が必要であるが、テストでは共同作業がテストされていない場合に使用します。
var collaborator = {};
collaborator.collaboration = sinon.stub().returns(1);
SUT.setCollaborator(collaborator);
SUT.play();
スタブとモックの下にあるテクノロジーは似ていますが、違いはテストの意図です。
http://sinonjs.org/docs/#mocksから:
モックには、テストに失敗する可能性のある期待が組み込まれています。したがって、実装の詳細を強制します。経験則では、特定の呼び出しにアサーションを追加しない場合は、それをモックしないでください。代わりにスタブを使用してください。