如何在 spring 单元测试中快速模拟服务?

How to quickly mock services in spring unit tests?

@Bean
public EntityManager(EntityManagerFactory emf) {
   //...
}

如何在 JUnit 测试中快速模拟这两个 bean (em + emf)? 是否有一些框架允许我定义例如 @Mock EntitiyManager em;?

你似乎知道 @Mock 注解,所以想必你知道 Mockito 是什么。您只需像模拟其他任何东西一样模拟 EntityManager

@Mock EntitiyManager em;
initMocks();
MyService myService = new MyServiceImpl(em);

看看springockito together with spring-test。它集成了 spring 和 mockito,并支持基于注释的模拟和在 spring applicationContext 中配置的模拟。