gpt4 book ai didi

java - mockito 中@InjectMocks 和@Autowired 用法的区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:45 29 4
gpt4 key购买 nike

当我使用 Mockito 和 Junit 编写测试用例时,我使用了 @InjectMocks 作为要测试的类。在项目的其他部分,我还看到 @Autowired 被用于要测试的类。

我什么时候可以使用@InjectMocks@Autowired?当我们尝试将它们与要测试的类一起使用时,两者之间有什么区别?

最佳答案

@InjectMocks 是一种 Mockito 机制,用于将 test 类中声明的字段注入(inject)到 under test 类中的匹配字段中。它不要求被测类是 Spring 组件。

@Autowired 是 Spring 的注释,用于将 bean Autowiring 到生产、非测试类中。

如果您想在被测类中利用 @Autowired 注释,另一种方法是使用 springockito这允许您声明模拟 bean,以便它们将 Autowiring 到被测类中,就像 Spring Autowiring bean 的方式一样。但通常这不是必需的。

关于java - mockito 中@InjectMocks 和@Autowired 用法的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893247/

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