通常、コンストラクターに多くのパラメーターがあることは、悪い概念のヒントです。コンストラクターに渡す引数を減らすために、オブジェクトとクラスを再考することをお勧めします。
そうしたくない場合でも、クラスをインスタンス化するある種の「TestUtil」を使用できます。
例 :
public class MyTestUtils {
public createValidFirstClass() {
return new FirstClass(/* some arguments here */);
}
public createValidSecondClass() {
return new SecondClass(/* Some arguments here */);
}
public createValidThridClass() {
return new ThridClass(/* Some arguments here */);
}
public createValidExampleClass() {
return new ExampleClass(createValidFirstClass(), createValidSecondClass(), createValidThridClass());
}
}
このクラスは、プロジェクトではなくテスト パッケージに含める必要があり、テスト以外では使用しないでください。実際のプロジェクトには Factory または Builder を使用してください。
とにかく、最善の解決策はクラスを再考することだと思います。
例 :
public class People {
public People(String firstName, String lastName, Date birth, Date death) {
}
}
ご覧のとおり、指定されたすべてのパラメーターが正しくフォーマットされていて、null ではないことを制御するのは面倒です。
メソッドに渡される引数の数は、この方法で減らすことができます。
public class People {
public People(PeopleNames names, Period period) {
}
}
public class PeopleNames {
public People(String firstName, String lastName) {
}
}
public class PeopleNames {
public People(Date begin, Date end) {
}
}