我有一个@PostConstruct方法,如下所示:
@PostConstruct
public void init() throws IOException {
if (getPrimaryDirectory() == null) {
primaryDirectory = new File(localDirectory, DEFAULT_PRIMARY_DIRECTORY);
}
FileUtils.forceMkdir(primaryDirectory);
if (secondaryDirectory() == null) {
secondaryDirectory = new File(localDirectory, DEFAULT_SECONDARY_DIRECTORY);
}
FileUtils.forceMkdir(secondaryDirectory);
}我的声纳分析报告说,有些条件没有被测试覆盖。例如,当primaryDirectory为null时,测试条件。
primaryDirectory的值使用@value和表达式语言从属性文件中注入。
我试过用mockito。但是我想,我不能真正地嘲笑它,因为它是@PostConstruct,当我插入我的模拟时,它已经调用了init方法。我应该在这里测试哪些场景,以及如何测试?
谢谢。
发布于 2015-05-11 09:06:46
只需将其测试为纯单元测试即可。不要将任何注释处理器连接到此测试,只需手动设置所有值并显式调用方法。这种方式应该是对此功能的适当测试。
https://stackoverflow.com/questions/30163319
复制相似问题