我正在 Java 的 Spring 中為我的服務編寫單元測試。我模擬測試類中的所有依賴項,并在構造函數中實例化測試類,然后將模擬類傳遞給該類。問題是被測試的類將 .properties 文件中的屬性注入到其中的字段中(比如說字符串)。我在測試類中@PropertySource使用類級別和@Value字段級別的標準組合。我們知道,當類通過構造函數實例化時(而不是在 Spring Container 初始化期間作為 bean),屬性注入會失敗。你如何處理這樣的問題?我有一個解決方案,雖然我認為它很糟糕并且不令人滿意,那就是: 1.@Autowire正常到被測類,然后使用setter替換其所有依賴項。我也知道@TestPropertySource注釋,如果我理解正確,它不會提供解決方案,它只是一種覆蓋已經存在的屬性的方法 - 事實并非如此,因為我們不能真正使用任何屬性。
添加回答
舉報
0/150
提交
取消