Junit для @Bean - PullRequest
       33

Junit для @Bean

0 голосов
/ 11 июня 2018

У меня есть класс конфигурации, как показано ниже:

@Configuration()
public class JsonConfiguration {

    /** Default constructor. */
    protected JsonConfiguration() {
    }

     /**
     * Overrides the default jackson mapper builder to remove empty/null values from returned json.
     * @return the customised jackson mapper.
     */
    @Bean
    public Jackson2ObjectMapperBuilder jacksonBuilder() {
        Jackson2ObjectMapperBuilder b = new Jackson2ObjectMapperBuilder()
            .serializationInclusion(Include.NON_EMPTY);
        return b;
    }
}

Мне нужно выполнить модульное тестирование моего метода "jacksonBuilder".

Может ли кто-нибудь помочь мне в том, как действовать.

1 Ответ

0 голосов
/ 11 июня 2018

Что ж, я провел некоторое исследование и нашел ответ на него.

Ниже приведен код, который я написал для теста, на случай, если кто-то застрянет в той же точке, см. Ниже:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class)
public class JsonConfigurationTest {

    @Configuration
    static class ContextConfiguration {

        @Bean
        public JsonConfiguration orderService() throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
            Constructor<JsonConfiguration> constructor = JsonConfiguration.class
                    .getDeclaredConstructor(new Class[0]);
            constructor.setAccessible(true);
            JsonConfiguration conf= constructor.newInstance(new Object[0]);
            return conf;
        }
    }

    @Autowired
    private JsonConfiguration configuration;

    @Test
    public void jacksonBuilderTest() {
        Jackson2ObjectMapperBuilder builder = configuration.jacksonBuilder();
        assertNotNull(builder);
    }

}
...