私のプロジェクトでは、java(工場)自体のjunitsをテストするためのスタブファイルを作成しました。しかし、これらのスタブを外部化する必要があります。多くのシリアライザ/デシリアライザを見た後、XStreamを使用してこれらのスタブオブジェクトを直列化および逆シリアル化することに決めました。 XStreamは魅力的に機能します。それはそれが主張するものにかなり良い。以前は、異なるテストケースをテストするために必要なすべてのスタブを生成するAFactoryという単一のファクトリクラスがありました。生成されたスタブのそれぞれを外部化すると、ロードブロックが発生しました。ファクトリで作成されたスタブごとに1つのxmlファイルを作成する必要がありました。
例えば 、今 外部化junitスタブオブジェクト
public final class AFactory{
public static A createStub1(){ /*Code here */}
public static A createStub2(){ /*Code here */}
public static A createStub3(){ /*Code here */}
}
、これは外部ファイルにスタブ移動しようとしたとき、我々は、(A-stub1.xml、-stub2.xmlおよびA-作成された各スタブのための1つのxmlファイルを作成する必要がありましたstub3.xml)。このアプローチの問題点は、xmlスタブファイルが増えてしまうことです。
私は、単一のXMLファイルに単一のBeanクラスに関連するすべてのスタブを保持することを考えていました。
<?xml version="1.0"?>
<stubs class="A">
<stub id="stub1">
<!-- Here comes the externalized xml stub representation -->
</stub>
<stub id="stub2">
</stub>
</stubs>
上記のようにすべてのスタブをxml形式で1つのxmlファイルに保存できるフレームワークはありますか?または、あなたは何を守るべき正しいアプローチであるとお考えですか?
junitテストについては[wire mock](http://wiremock.org)、機能や性能については[stubby-db](https://www.npmjs.com/package/stubby-db)をご覧くださいテスト。 –