だから私はこれに何度も遭遇しました、そしてあなたがそれについて行っている方法は解決策です. しかし、ParameterSupplier
各レベルを詳細に制御できる素敵なパターン ( を使用) を見つけました。次のテストを想像してください。
@Theory
public void testSetup1(@DefaultAList @DefaultBList @DefaultCList A a){...}
@Theory
public void testSetup2(@DefaultAList @DefaultBList @SomeOtherCList(config="blah") A a){...}
私が持っているパターンを使用することで、インスタンスの構造全体を簡単に制御できます。基本的な考え方は、TestSupplier
クラスのインスタンスを作成するための静的メソッドを持つクラスがあるということです。でTestSupplier
使用できる注釈を提供するParameterSupplier
ため、Theories
. これらを使用すると、複雑なマルチレベル オブジェクトの作成方法を指定できます。
テストの例を次に示します。
のセットアップ方法を示すサンプル プロジェクト全体を次に示しTestSuppliers
ます。
ExampleTestのテスト例を次に示します。
@Theory
public void test1(
@DefaultTopBean @SingleMiddleBean @SingleValidBottomBean
TopBean topBean) {...}
@Theory
public void test2(
@DefaultTopBean @SingleMiddleBean @InvalidBottomBean
TopBean topBean) {...}
@Theory
public void test3(
@DefaultTopBean
@MiddleBeansWithState(states = { State.State1, State.State3 })
@MultipleValidBottomBean(count = 2)
TopBean topBean) {...}