跳过构造函数创建 Java 对象(测试)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kypfos/article/details/81942052

如果一个 Java 类在初始化时会有外部依赖,这就给单元测试创建它的实例时造成困难。当然被测试类可以改造为依赖全部构造时注入或创建实例后延迟注入,这里不考虑这种改造。单说下面的例子

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

假如上面的代码是不能改动的,并且在 new PriceInquiry() 时依赖于网络环境,所以单机情况不能创建成功。也就使得测试时试图

new OrderService();

会失败。并且试图用 Mockito 的 @InjectMocks 也不行 阅读全文 >>

猜你喜欢

转载自blog.csdn.net/kypfos/article/details/81942052