![](/img/trans.png)
[英]How to mock Spring @Autowired WebClient response in @Service?
[英]How to mock a service and all the autowired fields in the service?
我正在寻找模拟我的服务以及其中的所有自动装配字段。 下面是服务:
@Service
public class MyServiceImpl implements MyService {
@Autowired
@Qualifier("propvalues")
Map<String,String> propvalues;
...
...
}
下面是配置class
@Configuration
public class MyValuesConfig {
@Bean(name = "propvalues")
@ConfigurationProperties(prefix = "mysvcvalues")
private Map<String,String> propvalues;
}
配置 class 从 application-myvalues.yml 读取
这是我的测试 class MyServiceImplTest
@ExtendWith(MockitoExtension.class)
public class MyServiceImplTest {
@Mock
private MyService myService;
...
...
}
现在我发现模拟服务中的自动装配字段是 null。 理想情况下,我希望在模拟服务中查看从 Map 中的配置加载的值。
而不是@Mock
用户@SpyBean
@SpyBean
像实际的 bean 一样注入 object,但您可以单独模拟它的任何部分。
或者您可以使用spy
初始化 object 并模拟您想要的其他部分。 类似于: Mokito.spy(myService).when(....).thenReturn(...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.