【问题标题】:Test case for WCF REST ServiceWCF REST 服务的测试用例
【发布时间】:2015-06-10 05:58:05
【问题描述】:

我应该如何为 WCF REST 服务编写集成测试?

我想为 POST 请求编写一个测试用例,它所期望的消息合约是一些复杂的类型。

我的合同

[OperationContract]
[WebInvoke(UriTemplate = "Receiver/Add", Method = "POST", RequestFormat =   WebMessageFormat.Json)]
AccountCreateResponse AddReceiver(AccountCreateRequest request);

我的测试用例是这样的

string jsonRequestData = "{\"ReceiverAccountCreateRequest\":{\"FriendlyName\":\"aBC\",\"AccountNumber\":\"11111111111111111\",\"AccountType\":\"1\",\"CategoryName\":\"ACH\",\"IsTemporary\":\"false\",\"ExtendedProperties\":{\"SerializedInstance\":\"Corporate Type~Payroll~False|Batch Description~Dir Dep~False|Company Name~4not4~False|Identification Number~123456789~False|Total Amount~232~False|Direction~C~False|chach Format~PPD~False\"},\"Imported\":\"0\"}}";

byte[] data = Encoding.UTF8.GetBytes(xmlRequestData);
var request = (HttpWebRequest)WebRequest.Create("http://localhost/abcService.svc/Receiver/Add");
request.Method = "POST";
request.ContentType = "application/json";
Stream dataStream = request.GetRequestStream();
dataStream.Write(data, 0, data.Length);
dataStream.Close();

var response = request.GetResponse();

错误

415 请求内容不匹配。

【问题讨论】:

    标签: c# wcf rest testing integration-testing


    【解决方案1】:

    您可以从可用的测试模板创建 Microsoft 单元测试项目并添加您的 WCF 服务的 Web 引用。

    在这里,最好使用服务通道进行测试,但是您仍然可以使用传统的服务调用方法。由于我们的对象模型过于复杂,因此我们一直在这样做以在多台服务器上测试各种服务。

    点击此链接获取 VS2013 中的单元测试模板

    How to: Create a Unit Test Project

    【讨论】:

    • 为什么是“网络参考”?
    猜你喜欢
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多