Как генерировать экземпляры тестовых данных об неизменном классе Java без дублирования кода?JAVA

Программисты JAVA общаются здесь
Anonymous
Как генерировать экземпляры тестовых данных об неизменном классе Java без дублирования кода?

Сообщение Anonymous »

У меня есть большой класс, помеченный @value от Ломбока, что делает его неизменным. Он подтвержден в какой -то момент, и для того, чтобы контролировать эти проверки, я должен создать многочисленные версии этого объекта с небольшими отклонениями от действительного экземпляра. Я ищу способ внести эти изменения, не написав все поколение каждый раз. Если класс был изменен, я мог бы просто применить свои изменения к недавно сгенерированному допустимому экземпляру для каждого теста.@Value
class MyClass{
String a;
String b;
String c;
...
}

// if it was mutable, I could just do this:

getValid() {
return new MyClass("a","b","c"...);
}

testA() {
var obj = getValid();
obj.a = "invalid";
// ... do test here
}

testB() {
var obj = getValid();
obj.b = "invalid";
// ... do test here
}

testC() {
var obj = getValid();
obj.c = "invalid";
// ... do test here
}

...

// since it is immutable, I have to do this:

testA() {
var obj = new MyClass("invalid","b","c"...); // I would like to avoid this
// ... do test here
}

testB() {
var obj = new MyClass("a","invalid","c"...); // I would like to avoid this
// ... do test here
}

testC() {
var obj = new MyClass("a","b","invalid"...); // I would like to avoid this
// ... do test here
}

...


Подробнее здесь: https://stackoverflow.com/questions/795 ... de-duplica

Вернуться в «JAVA»