JUnit版本影响Bean找不到
- 游戏开发
- 2025-09-13 17:12:02

JUnit 版本影响 Bean 找不到
在为实现类编写测试类时,在测试类中使用构造器注入 Bean 时,提示找不到 Bean,代码如下:
@Service public class WeChatServiceImpl implements IWeChatService { @Override public String getNumber(String detailCode) { return detailCode; } } @SpringBootTest(classes = WeChatServiceImpl.class) @RequiredArgsConstructor class WeChatServiceImplTest { private final IWeChatService weChatService; @Test void getPhoneNumber() { System.out.println(weChatService.getNumber("Service")); } }这时运行测试方法时,提示 “No ParameterResolver registered for parameter” 的错误
这是由于 JUnit 5 默认情况下并不提供自动解析构造函数参数的能力。
最简单的解决方法:换为 @Autowired 注入。
@SpringBootTest(classes = WeChatServiceImpl.class) class WeChatServiceImplTest { @Autowired private IWeChatService weChatService; @Test void getPhoneNumber() { System.out.println(weChatService.getPhoneNumber("Service")); } }@Autowired 和 构造器 注入 Bean 有什么区别
JUnit版本影响Bean找不到由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“JUnit版本影响Bean找不到”