Перед началом, когда я искал ответ на этот вопрос, я смотрел на следующий вопрос, который не ответил на мой: * Можно ли добавить @Builder и @AllArgsConstructor в stati c внутренних классах [Ломбок]?
В своих тестах я создал внутренний класс, содержащий мои тестовые случаи:
@AllArgsConstructor
@Getter
static class TestData {
private final String testCase;
private final String value1;
private final String value2;
private final int value3;
}
Также в этих тестах у меня есть список, содержащий все эти контрольные примеры:
private static final List<TestData> testData = Collections.unmodifiableList(Arrays.asList(
new TestData("test case 1", "value1", "value2", 1),
new TestData("test case 2", "value2", "value2", 2),
new TestData("test case 3", "value2", "value1", 3),
new TestData("test case 4", "value2", "value2", 4),
));
Однако, когда я компилирую код, я получаю следующую ошибку:
error: constructor TestData in class TestData cannot be applied to given types;
new TestData("test case 1", "value1", "value2", 1),
^
required: no arguments
found: String,String,String,int
reason: actual and formal argument lists differ in length
РЕДАКТИРОВАТЬ Так как, кажется, это что-то, что не работает в моем проекте Я прилагаю полный пример кода, который не работает:
public class Testing {
private static final List<TestData> testData = Collections.unmodifiableList(Arrays.asList(
new TestData("test case 1", "value1", "value2", 1),
new TestData("test case 2", "value2", "value2", 2),
new TestData("test case 3", "value2", "value1", 3),
new TestData("test case 4", "value2", "value2", 4)
));
@Test
public void aTest() {
for (final TestData data : testData) {
System.out.println("***********************");
System.out.println(data.getTestCase());
System.out.println(data.getValue1());
System.out.println(data.getValue2());
System.out.println(data.getValue3());
}
}
@AllArgsConstructor
@Getter
static class TestData {
private final String testCase;
private final String value1;
private final String value2;
private final int value3;
}
}
Это мой файл build.gradle:
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
testCompile 'junit:junit:4.12'
testCompile 'org.projectlombok:lombok:1.18.10'
}
EDIT2 Вы можете найти пример кода в проекте, который я запускаю на моей машине (и некоторых из моих колледжей) в этом репозитории GitHub: https://github.com/yonatankarp/stackoverflow_lombok