Я пытаюсь сделать несколько многопоточных тестов, используя JMockit в коде, похожем на этот:
class scratch_1 {
public static void main(String[] args) {
for (final Car ex: Car.values()) {
System.out.println(ex.getValue());
}
}
}
enum Car {
A(1);
public int getValue() {
return value;
}
private final int value;
Car(final int value){
this.value = value;
}
}
Проблема в том, что для проверки, мой дляцикл должен обрабатывать более одного автомобиля (логика многопоточности происходит внутри).Однако я не могу изменить перечисление, потому что на данный момент у нас есть только 1 машина, но будет больше в следующих источниках.
Как я могу добавить другую машину во время выполнения, только для тестирования?
РЕДАКТИРОВАТЬ:
Это то, что я пытался, что не сработало:
новый автомобиль (2);-> нет новых экземпляров перечислителей
Создайте второй класс SpecialCar с двумя SpecialCars и замените их во время тестов.
Класс SpecialCar расширяется -> перечисления не могут быть расширены
макет метода values () из Car.так что
new Expectations() {
{
car.values();
result = {car.A... }
Проблема: больше машин нельзя добавлять в массив.