弹簧启动测试文档说:
如果您的测试使用Spring的测试注释之一(如
@SpringBootTest),则会自动启用此功能。若要以不同的安排使用此功能,必须显式地添加侦听器.
“要用不同的安排使用这个特性,必须显式地添加侦听器”意味着什么?
发布于 2022-01-06 11:11:05
不使用任何Spring测试注释意味着不使用@SpringBootTest或任何其他弹簧启动测试片注释。有许多Spring测试注释可以自动为您配置。我找不到一个显示它们全部的页面(可能会有更多的添加),但是Spring文档提到了它们,从8.3.12+开始。
通过查看import语句,您可以很容易地识别将其放在类顶部的Spring测试注释。它们都以org.springframework.boot.test开头,例如@WebMvcTest、@DataJpaTest、@WebfluxTest等。
假设您不依赖Spring测试注释并手动配置Spring测试上下文。在这种情况下,需要在测试类的顶部添加@TestExecutionListeners({ MockitoTestExecutionListener.class, ResetMocksTestExecutionListener.class })才能使用@MockBean/@SpyBean。
@Mock vs. @MockBean是不同。使用@MockBean/@SpyBean,您可以在Spring中替换/添加bean,而@Mock用于普通的单元测试,而不需要任何Spring。
https://stackoverflow.com/questions/70454150
复制相似问题