Как выполнить модульный тест java кода, который использует Reflections для заполнения подтипов класса? - PullRequest
0 голосов
/ 13 января 2020

Это мой код:

protected void loadConverters() {
        // load all available converters
        Reflections reflections = new Reflections("com.mypackage.MyClass");

        Set<Class<? extends ContentConverter>> processors = reflections.getSubTypesOf(ContentConverter.class);
        for(Class<? extends ContentConverter> processorClass : processors) {
            try {
                if(Modifier.isAbstract(processorClass.getModifiers())) {
                    continue;
                }

                ContentConverter processor = processorClass.getDeclaredConstructor().newInstance();
                ReportOutputType type = processor.getOutputType();
                if(type == null) {
                    LOGGER.warn("Class {} does not return a valid ReportOutputType, is not being loaded for processing.", processorClass);
                    continue;
                }

                // register
                AVAILABLE_CONVERTERS.put(type, processor);
            } catch (Exception e) {
                LOGGER.error("Cannot instantiate step processor class", e);
            }
        }
    }

Итак, я записываю вывод в переменную AVAILABLE_CONTAINERS. Я хочу знать, есть ли способ, которым я могу имитировать c подклассы и проводить модульное тестирование вышеуказанного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...