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