当前位置: 首页 > 知识库问答 >
问题:

Mockito+Spring+@PostConstruct,模拟初始化错误,为什么调用@PostConstruct?

锺离高丽
2023-03-14
private final Map<String, String> configCache = new HashMap<>();
@PostConstruct
private void fillCache() {  (...) configCache.clear();} 
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
@Primary
public Bean beanMock() {
    return Mockito.mock(Bean.class);
}
    null

共有1个答案

刘兴朝
2023-03-14

Mockito没有调用@postconstruct--Spring调用了。您说在测试中使用@autowired,这不是Mockito注释。

如果您打算使用@mock,您会发现Mockito不会调用@postconstruct方法。

换句话说,这样编写测试类:

@Mock Bean myBean;

@Before
public void before() {
    MockitoAnnotations.initMocks();
}
 类似资料:
  • 有许多方法可以使用mockito初始化模拟对象。其中什么是最好的方法? 1. 建议我有没有比这些更好的方法...

  • 问题内容: 有很多方法可以使用MockIto初始化模拟对象。其中最好的方法是什么? 1。 2。 [编辑] 3。 如果有其他方法可以建议我… 问题答案: 对于模拟初始化,使用或是严格等效的解决方案。从MockitoJUnitRunner的javadoc中: 当你已经在测试用例上配置了特定的运行器时,可以使用第一个解决方案(带有)。 第二个解决方案(带有)更经典,也是我的最爱。代码更简单。使用转轮提供

  • 在这里,我想在测试方法时模拟,我需要模拟变量的初始化。有线索吗? 编辑:我不允许修改Person类。

  • 我正在课堂上尝试设置rabbitmq连接工厂。希望使用@value注释读取application.properties文件中定义的属性。但是,bean配置不正确。我不能理解这一点。代码如下: 以下是错误: 2019-06-18 10:58:02.642信息29037---[main]o.apache.catalina.core.StandardService:正在停止服务[Tomcat]2019-

  • 我使用spring初始化工具来生成一些工作骨架,我使用MAVEN项目的默认值 https://start.spring.io/ 当我运行(在项目中没有做任何更改)时,我得到了以下错误,知道如何克服它吗? 使现代化 这是pom。xml文件,我没有更改任何内容。。。 更新2

  • 在本教程之后,我将尝试实现Spring会话Spring HttpSession教程 但是当我启动应用程序时,我遇到了一个初始化错误。 异常在线程"main"org.springframework.beans.factory.不满意依赖异常:错误创建bean与名称'springSessionRepositoryFilter'定义在类org.springframework.session.data.r