如何为api put单元测试配置HttpClient?

时间:2013-11-18 20:14:35

标签: web-services api rest

我是api网络服务的新手。我正在开发一个应该更新数据库表的Web服务。我决定使用put,但是我在使用单元测试时遇到了麻烦。

CONTROLLER

static readonly ICarsRepository repository = new CarsRepository();

public void PutRejectRecord(int carId, int statusId)
{
    if (!repository.RejectRecord(carId, statusId))
    {
        throw new HttpResponseException(HttpStatusCode.NotFound);
    }
}

MODEL

public class CarsRepository : ICarsRepository
{
    public bool RejectRecord(int carId, int statusId)
    { ... }

我一直在寻找无济于事的解决方案。我尝试但未能使用

string uri = "api/Cars/Approve/{id}/{approveStatus}";
HttpClient client = new HttpClient();
var response = client.PostAsync(uri, new StringContent("2")); 

没有任何意义。

如何将HttpClient设置为指向'PUT api / Cars / Approve / {id} / {approveStatus}'?我正在努力做到这一点,我还没有让人感到沮丧的灯泡时刻......请帮忙!

1 个答案:

答案 0 :(得分:0)

听起来像是:

1)你正在使用C#,对吗?使用MVC3或4,正确?

2)您有一个预先存在的REST Web服务(您不是自己编写服务,是否正确)?

3)你想要做的就是让你的C#程序与服务对话,对吗?

以下是一些链接: