java单元测试模拟HttpClient和webdav

发布于 2024-09-30 14:59:39 字数 1554 浏览 8 评论 0原文

你好,我有一个类用于执行 webdav 相关操作,例如创建目录,Implementatiion 可以在下面看到(createDir 方法)。问题是如何很好地测试它,也许使用 EasyMock 或类似的库。有什么想法吗?谢谢!

package foobar;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; 

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.httpclient.methods.RequestEntity;

import org.apache.jackrabbit.webdav.client.methods.DavMethod;
import org.apache.jackrabbit.webdav.client.methods.MkColMethod;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import mypackage.httpdclient.util.URLHandler;


public class WebDavImpl{

    private static final String SEPARATOR = " ----- ";
    private HttpClient httpClient;
    public StorageSpaceClientImpl() {
        httpClient = new HttpClient();
    }

    public String createDir(String dirName) {

        String response = null;
        String url = URLHandler.getInstance().getDirectoryUrl(dirName);
        DavMethod mkcol = new MkColMethod(url);
        try {
            httpClient.executeMethod(mkcol);
            response = mkcol.getStatusCode() + SEPARATOR + mkcol.getStatusText();

        } catch (IOException ex) {

        } finally {
            mkcol.releaseConnection();
        }

        return response;
    }

   }

Hello I have a class for doing webdav related operations such as creating a directory, Implementatiion can be seen below (the createDir method). The question is how to test it nicely, perhaps using EasyMock or a similar lib. Any ideas? thanks!

package foobar;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; 

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.httpclient.methods.RequestEntity;

import org.apache.jackrabbit.webdav.client.methods.DavMethod;
import org.apache.jackrabbit.webdav.client.methods.MkColMethod;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import mypackage.httpdclient.util.URLHandler;


public class WebDavImpl{

    private static final String SEPARATOR = " ----- ";
    private HttpClient httpClient;
    public StorageSpaceClientImpl() {
        httpClient = new HttpClient();
    }

    public String createDir(String dirName) {

        String response = null;
        String url = URLHandler.getInstance().getDirectoryUrl(dirName);
        DavMethod mkcol = new MkColMethod(url);
        try {
            httpClient.executeMethod(mkcol);
            response = mkcol.getStatusCode() + SEPARATOR + mkcol.getStatusText();

        } catch (IOException ex) {

        } finally {
            mkcol.releaseConnection();
        }

        return response;
    }

   }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文