首页 > 解决方案 > 如何使用 EasyMock 模拟 Java.net.URL 类

问题描述

我们知道 URL 是一个最终类,所以任何人都可以告诉我如何在使用 EasyMock 编写测试用例时模拟该类。

我正在为一种使用这样的 URL 的方法编写测试用例。

public String call() {
    //some logics
    URL url=new URL("url name")
}

那么我如何在编写调用方法的测试用例时模拟 URL

标签: javagroovy

解决方案


您不能使用 pureEasyMock来模拟最终的类/方法。但是,可以按照此处的说明PowerMock通过扩展来完成。

或者您可以将 URL 包装到一些可以模拟的非最终类中:

class MyURL {
    private URL url;
    public MyURL(URL url) {
        this.url = url;
    }

    public URLConnection openConnection() throws IOException {
        return url.openConnection();
    }
// ... etc.
}

推荐阅读