私のプロジェクトでは、java(factories) 自体で junit をテストするためのスタブ ファイルを作成しました。ただし、これらのスタブを外部化する必要があります。多くのシリアライザー/デシリアライザーを見た後、XStream を使用してこれらのスタブ オブジェクトをシリアライズおよびデシリアライズすることにしました。XStreamは魅力的に機能します。それが主張するものはかなり良いです。以前は、さまざまなテスト ケースのテストに必要なすべてのスタブを生成する AFactory という 1 つのファクトリ クラスがありました。ここで、生成された各スタブを外部化するときに、障害にぶつかります。ファクトリによって生成されたスタブごとに 1 つの xml ファイルを作成する必要がありました。
例えば、
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、A-stub2.xml、および A-stub3.xml) ごとに 1 つの xml ファイルを作成する必要がありました。このアプローチの問題点は、xml スタブ ファイルの急増につながることです。
私は、単一の Bean クラスに関連するすべてのスタブを単一の xml ファイルに保持する方法を考えていました。
<?xml version="1.0"?>
<stubs class="A">
<stub id="stub1">
<!-- Here comes the externalized xml stub representation -->
</stub>
<stub id="stub2">
</stub>
</stubs>
上記のように、すべてのスタブを xml 表現で単一の xml ファイルに保持できるフレームワークはありますか? または、順守するための正しいアプローチは何だと思いますか?