Cucumberを使用する際には、モックの使用は通常推奨されません。理想的には、可能な限り多くのスタックを使用する必要があります。モックの使用が役立つ場合もあります。例えば、システムがサードパーティに依存している場合です。外部システムへの依存関係がある場合は、モックではなくスタブを使用することをお勧めしますステップ定義でモックを期待値とともに設定することはできます。

Ruby

RSpec 2.x

Cucumber 0.8.4以降、RSpecでサポートされているすべてのモックフレームワーク(RSpec、Mocha、RR、Flexmock)を使用できます。require 'cucumber/rspec/doubles'を使用します(テストダブルは、モックやスタブよりも一般的な用語です)。

スタブアクションを以下のブロック内に配置することをお勧めします。

require 'cucumber/rspec/doubles'

RSpec::Mocks.with_temporary_scope do
stub_resp = {"city"=>"San Francisco", "state_abbreviation"=>"CA", "state"=>"California", "mailable_city"=>true}
SmartyStreets.stub(:get_city_state).with("94109").and_return(stub_resp)

click_button "check zip"
end

Java

さまざまなモックフレームワークは、それぞれ異なる目的を果たします。

Mockito

Mockitoは、TDDまたはBDDの目的で自動化された単体テストにおけるテストダブルの作成のためのフレームワークです。

MockServer

HTTPまたはHTTPSを介して統合するシステム(サービス、ウェブサイトなど)のモックには、MockServerを使用できます。

WireMock

WireMockは、MockServerと同様の、HTTPベースのAPIのシミュレーターです。

JavaScript

cucumber-jsを使用している場合、多くのテストフレームワークから選択できます。どのフレームワークを使用するかは、プロジェクトで使用している他のJavaScriptフレームワークや個人的な好みによって異なります。

このドキュメントの改善にご協力ください。このページを編集する