跳過構造函數創建 Java 對象(測試)

如果一個 Java 類在初始化時會有外部依賴,這就給單元測試創建它的實例時造成困難。當然被測試類可以改造爲依賴全部構造時注入或創建實例後延遲注入,這裏不考慮這種改造。單說下面的例子

public class OrderService {
    private PriceInquiry priceInquiry = new PriceInquiry();
    .........
 
    public double totalPrice() {
      return priceInquiry.retrieve(....);
    }
}

假如上面的代碼是不能改動的,並且在 new PriceInquiry() 時依賴於網絡環境,所以單機情況不能創建成功。也就使得測試時試圖

new OrderService();

會失敗。並且試圖用 Mockito 的 @InjectMocks 也不行 閱讀全文 >>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章