unit-testing - 使用 ODataQueryOptions 编写单元测试

标签 unit-testing asp.net-web-api odata moq

我是为 WebAPI 编写测试用例的新手。我曾经看到过类似的问题,但没有得到回答,但我想知道如果我的 API 有 ODataQueryOptions,我将如何测试它们。作为参数的一部分。见下文:

public IQueryable<Item> GetByIdAndLocale(ODataQueryOptions opts, 
                                         Guid actionuniqueid, 
                                         string actionsecondaryid)

我必须起订量吗?如果是这样,这看起来如何?任何帮助,将不胜感激。

最佳答案

对于 ODataQueryOptions 透视图,您可能想要测试所有 OData 查询选项是否可以与您的函数一起使用。所以首先你需要创建一个 ODataQueryOptions 的实例。这是一个例子:

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri);
ODataQueryContext context = new ODataQueryContext(EdmCoreModel.Instance, elementType);
ODataQueryOptions options = new ODataQueryOptions(context, request);

所以你需要创建自己的EDM模型来替换 EdmCoreModel.Instance , 并替换 请求Uri 与您的查询。 元素类型 在 ODataQueryContext 中是“正在查询的集合元素的 CLR 类型”。

关于unit-testing - 使用 ODataQueryOptions 编写单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24045279/

相关文章:

python - flask.request mocker.patch.object 不生效

c# - 从 web api JSON C# 中删除斜线

odata - 修改 SEGW Odata 服务中的响应头

Azure DevOps - 工作项在看板上特定列中花费的时间

android - 如何在表示层上编写适当的 android 单元测试

unit-testing - ClassNotPersistableException 运行 Appengine 单元测试(JDO、Gradle)

javascript - karma 测试中未定义预期范围变量

c# - 部署到 prod 后没有 MediaTypeFormatter 可供读取

javascript - 使用 Angular JS $http.post() 将 json 数据发布到 WCF REST 在 Chrome 中失败但在 IE 中成功

silverlight - silverlight 上的 odata 仅在 UI 线程上运行