gpt4 book ai didi

java - Spring(@SpyBean)与 Mockito(@Spy)

转载 作者:行者123 更新时间:2023-11-30 06:41:45 24 4
gpt4 key购买 nike

@SpyBean 之间有什么区别?来自 org.springframework.boot.test.mock.mockito.SpyBean@Spy来自 org.mockito.Spy

使用 @SpyBean而不是 @Spy让我的tests失败。

最佳答案

@Spy doc说:

A field annotated with @Spy can be initialized explicitly at declaration point. Alternatively, if you don't provide the instance Mockito will try to find zero argument constructor (even private) and create an instance for you.

@SpyBean doc说:

Annotation that can be used to apply Mockito spies to a Spring ApplicationContext.

All beans in the context of the same type will be wrapped with the spy. If no existing bean is defined a new one will be added.

所以主要区别在于 @SpyBean 是 Spring Boot 特定注释,而 @Spy 是 Mockito 本身的一部分。 @SpyBean@Spy 基本上做同样的事情,但是 @SpyBean 可以解决 Spring 特定的依赖关系,例如@Autowired, @Spy 只能创建空构造函数的对象。

关于java - Spring(@SpyBean)与 Mockito(@Spy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com