考慮下面的WebAPI方法內容:單元測試來驗證IEnumerable的<dynamic>
public IHttpActionResult GetDeliveryTypes()
{
return Ok(... .Select(dt => new { Id = dt.Id, Name = dt.Name }));
}
凡
typeof(Id) = long
typeof(Name) = string
雖然單元測試,我怎麼能
斷言內容是否如我所料?例如,下面的斷言失敗
var contentResult = response as OkNegotiatedContentResult<IEnumerable<dynamic>>; Assert.IsNotNull(contentResult);
減少這種
IEnumerable<dynamic>
結果到IEnumerable<long>
這樣我就可以驗證它包含的值的預期序列?
我已經將InternalsVisibleTo
屬性添加到AssemblyInfo中。
至少第二點根本不會奏效,因爲你的'動態'實例實際上是'anonamouys {long,string}'類型,而不是'long'類型的,它們不是嗎? – HimBromBeere
完全正確@HimBromBree。這就是爲什麼我想知道爲'OkNegotiatedContentResult'指定的類型應該是什麼。 – awj
因爲你已經被'動態'卡住了,爲什麼不再使用它,並通過簡單地轉換爲'danymic'而不是'OkNegotiated ...'來製作'dynamic'類型的'response'? – HimBromBeere