Code review comment: That's a very good point and I have to admit that I need to check the code and tests...

Code before review:
public FieldInjector(Field field, Object testInstance) throws Exception {
this.field = field;
ArcContainer container = Arc.container();
BeanManager beanManager = container.beanManager();
java.lang.reflect.Type requiredType = field.getGenericType();
Annotation[] qualifiers = getQualifiers(field, beanManager);
Object injectedInstance;
if (qualifiers.length == 1 && qualifiers[0].equals(All.Literal.INSTANCE)) {
if (isListRequiredType(requiredType)) {
List<InstanceHandle<Object>> handles = container.listAll(requiredType, qualifiers);
if (isTypeArgumentInstanceHandle(requiredType)) {
injectedInstance = handles;
} else {
injectedInstance = handles.stream().map(InstanceHandle::get).collect(Collectors.toUnmodifiableList());
}
unsetHandles = cast(handles);
} else {
throw new IllegalStateException("Invalid injection point type: " + field);
}
} else {
InstanceHandle<?> handle = container.instance(requiredType, qualifiers);
if (field.isAnnotationPresent(Inject.class)) {
if (handle.getBean().getKind() == io.quarkus.arc.InjectableBean.Kind.SYNTHETIC) {
throw new IllegalStateException(String
.format("The injected field %s expects a real component; but obtained: %s", field,
handle.getBean()));
}
} else {
if (handle.getBean().getKind() != io.quarkus.arc.InjectableBean.Kind.SYNTHETIC) {
throw new IllegalStateException(String
.format("The injected field %s expects a mocked bean; but obtained: %s", field,
handle.getBean()));
}
}
injectedInstance = handle.get();
unsetHandles = List.of(handle);
}
field.setAccessible(true);
field.set(testInstance, injectedInstance);
}

Line under review: if (isListRequiredType(requiredType)) {

Code after addressing the review:
public FieldInjector(Field field, Object testInstance) throws Exception {
this.field = field;
ArcContainer container = Arc.container();
BeanManager beanManager = container.beanManager();
java.lang.reflect.Type requiredType = field.getGenericType();
Annotation[] qualifiers = getQualifiers(field, beanManager);
Object injectedInstance;
if (qualifiers.length > 0 && Arrays.stream(qualifiers).anyMatch(All.Literal.INSTANCE::equals)) {
if (isListRequiredType(requiredType)) {
List<InstanceHandle<Object>> handles = container.listAll(requiredType, qualifiers);
if (isTypeArgumentInstanceHandle(requiredType)) {
injectedInstance = handles;
} else {
injectedInstance = handles.stream().map(InstanceHandle::get).collect(Collectors.toUnmodifiableList());
}
unsetHandles = cast(handles);
} else {
throw new IllegalStateException("Invalid injection point type: " + field);
}
} else {
InstanceHandle<?> handle = container.instance(requiredType, qualifiers);
if (field.isAnnotationPresent(Inject.class)) {
if (handle.getBean().getKind() == io.quarkus.arc.InjectableBean.Kind.SYNTHETIC) {
throw new IllegalStateException(String
.format("The injected field %s expects a real component; but obtained: %s", field,
handle.getBean()));
}
} else {
if (handle.getBean().getKind() != io.quarkus.arc.InjectableBean.Kind.SYNTHETIC) {
throw new IllegalStateException(String
.format("The injected field %s expects a mocked bean; but obtained: %s", field,
handle.getBean()));
}
}
injectedInstance = handle.get();
unsetHandles = List.of(handle);
}
field.setAccessible(true);
field.set(testInstance, injectedInstance);
}