为了账号安全,请及时绑定邮箱和手机立即绑定

如何在测试中注入 bean 的属性源

如何在测试中注入 bean 的属性源

海绵宝宝撒 2021-06-10 14:01:57
我正在 Java 的 Spring 中为我的服务编写单元测试。我模拟测试类中的所有依赖项,并在构造函数中实例化测试类,然后将模拟类传递给该类。问题是被测试的类将 .properties 文件中的属性注入到其中的字段中(比如说字符串)。我在测试类中@PropertySource使用类级别和@Value字段级别的标准组合。我们知道,当类通过构造函数实例化时(而不是在 Spring Container 初始化期间作为 bean),属性注入会失败。你如何处理这样的问题?我有一个解决方案,虽然我认为它很糟糕并且不令人满意,那就是: 1.@Autowire正常到被测类,然后使用setter替换其所有依赖项。我也知道@TestPropertySource注释,如果我理解正确,它不会提供解决方案,它只是一种覆盖已经存在的属性的方法 - 事实并非如此,因为我们不能真正使用任何属性。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信