junit - @Bean 的 Junit
问题描述
我有一个配置类如下:
@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”进行单元测试。
有人可以帮助我如何进行。
解决方案
好吧,我做了一些研究,并找到了相同的答案。
以下是我为测试编写的代码,以防万一有人卡在同一点上,请参考以下内容:
@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);
}
}
推荐阅读
- python - 从 python 格式化为 csv
- java - 如何更改 ActionListener 的焦点 JButton 的默认键绑定?
- node.js - 如何在没有 process.env 的情况下获取环境变量
- android - 如何在每个新页面上创建可单击的 ListView 并在单击时打开 JSON 数据?
- apache-spark - 拆分RDD字符串并在一个语句中与其他RDD元素组合
- php - 如何验证输入是否为数字
- angular - 知道从哪个 html 调用组件
- json - 如何在 Azure Logic App 中从 blob json 创建 html 表
- eclipse - 文件上传的自动代码在 selenium 中不起作用。输入路径后 Windows 消失
- laravel - Laravel API 临时图像通过 url