Я пытаюсь найти способ генерирования объекта POJO из конструктора класса, помеченного аннотацией @RunWith(Parameterized.class)
. POJO будет использоваться для генерации Object[]
, используемого в качестве входных данных для конструктора. Что-то подобное уже существует? Если нет, то как я могу это создать?
Пример кода:
@RunWith(Parameterized.class)
public class Foo {
@ParameterizedTestPOJO // Annotation that would generate POJO
public Foo(String inputString, Integer inputInteger) {
// Does something
}
@Test
public testSomething() {
// Tests something
}
@Parameterized.Parameters
public static Iterable<Object[]> generateParameters() {
List<Object[]> parameters = new ArrayList<>();
// Example of how generated POJO could be used
parameters.add(new FooParameterizedPojo("input", 1).getParameters());
return parameters;
}
}
// Generated POJO
public class FooParameterizedPojo {
private String inputString;
private Integer inputInteger;
public FooParameterizedPojo(String inputString, Integer inputInteger) {
this.inputString = inputString;
this.inputInteger = inputInteger;
}
public Object[] getParameters() {
return new Object[] {inputString, inputInteger};
}
}
Редактировать: Может быть, я мог бы использовать пользовательскую аннотацию Lombok? Кажется перспективным .