我以前有一个看起来像这样的一个Web API控制器:
public IQueryable<ApiDesignOverview> GetList(
string brandIds = "",
string categoryIds = "",
string query = "",
string categoryOp = "or")
听说OData的NuGet包现在支持$ inlinecount OData的参数,所以我试图请使用http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options中的说明添加它 - 我不想使用OData批发,因为这需要大量重新构建应用程序,所以我选择了PageResult<T>
选项。
所以现在我的控制器看起来是这样的:
public PageResult<ApiDesignOverview> GetList(
ODataQueryOptions<ApiDesignOverview> options,
string brandIds = "",
string categoryIds = "",
string query = "",
string categoryOp = "or")
我的问题现在就是:
- 我怎么嘲笑一个单元测试ODataQueryOptions?
- 如果他们不能被嘲笑,我该如何创建一个?我需要一个
ODataQueryContext
来构建一个,这需要Microsoft.Data.Edm.IEdmModel
,这需要......什么?我找不到任何文件。
真的,如果我可以像从前一样从控制器签名中删除ODataQueryOptions会更好。这可能吗?
有没有办法做到这一点EntitySets与许多相关的实体,其中没有任何与您的测试逻辑相关?请参阅:http://stackoverflow.com/questions/17477421/instantiate-new-system-web-http-odata-query-odataqueryoptions-in-nunit-test-of-a/17477481#17477481 – user483679
为了进行单元测试,我需要通过顶部和跳过。我会如何做到这一点?这些字段是只读的。 – Narayana