我以前有一個看起來像這樣的一個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