私はJUnitとMocksを使用しましたが、JUnitのMocksとStubsの違いと、JavaのJUnitでStubsを使用する方法は何ですか?そして、EasyMock、Mockitoなどを備えたMocksとして、StubsはJavaで何を使用しますか?
Javaのスタブのサンプルコードをいくつか教えてください。
Junitでスタブを使用するには、フレームワークは必要ありません。
何らかのインターフェイスをスタブ化する場合は、それを実装するだけです。
interface Service {
String doSomething();
}
class ServiceStub implements Service {
public String doSomething(){
return "my stubbed return";
}
}
次に、新しいスタブオブジェクトを作成し、テストされたオブジェクトに挿入します。
具象クラスをスタブ化する場合は、サブクラスを作成し、スタブ化されたメソッドをオーバーライドします。
class Service {
public String doSomething(){
// interact with external service
// make some heavy computation
return "real result";
}
}
class ServiceStub extends Service {
@Override
public String doSomething(){
return "stubbed result";
}
}