odata - WCF 数据服务(ODATA 服务)是否可测试?我们可以为WCF数据服务编写单元测试吗

标签 odata wcf-data-services

我正在尝试使用 UNIT TEst 测试 WCF 数据服务 (ODATA SERVICES),但我无法这样做。

有人可以帮忙吗?

最佳答案

您可以通过直接调用数据服务类本身的函数(内部/白盒测试)来对数据服务进行单元测试,也可以通过构建进程内服务并通过 http 请求调用数据服务来进行单元测试。

直接调用数据服务类将执行其中的逻辑,但风险在于数据服务可能假设/依赖于使用网络堆栈状态作为处理请求的一部分。如果是这样,那么直接调用数据服务的单元测试可能会失败,因为测试环境没有正确反射(reflect)运行时环境。

将数据服务设置为进程内服务并在单元测试中通过 http 请求访问它可以更好地表示真实世界的运行时环境,因为调用实际上通过网络堆栈并被分派(dispatch)到数据服务在运行时的样子。如果数据服务真正独立于网络状态,这可能有点矫枉过正,但它更好地代表了现实世界的操作。

关于odata - WCF 数据服务(ODATA 服务)是否可测试?我们可以为WCF数据服务编写单元测试吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400496/

相关文章:

entity-framework - 从 Kendo Grid 执行 Web API 补丁操作时无法正确序列化导航属性

c# 客户端使用 linq 支持使用 OData

c# - OData 日期时间过滤器 Edm.String 错误?

c# - oData v4 (6.1.0) 在 $expand 中嵌套了 $filter

odata - sapui5表只显示相同的记录

wcf - 使用Linq-to-SQL的ADO.NET数据服务

c# - 通过WCF数据服务和LINQ保存数据时,InvalidOperationException“类型为'Y'的对象的成员'X'的值已更改。”

excel - 在 WCF 数据服务中指定空 IQueryable 中的列?

c# - WCF 数据服务,序列化 Entity Framework 部分类的附加属性

security - ADO.NET 数据服务的部署