@Documented @Retention(value=CLASS) @Target(value={METHOD,CONSTRUCTOR,FIELD,TYPE}) public @interface VisibleForTesting
This annotation means that the annotated element exposes internal data and breaks encapsulation of the containing class; the annotation won't prevent its use from production code, developers even won't see warnings if their IDE doesn't support the annotation. It's better to provide proper API which can be used in production as well as in tests.
Copyright © 2024. All rights reserved.