1
這是ASP.NET MVC V1(尚未使用,將V2)使mvccontrib testhelper工作與獲得automapped對象
我有一個路由條目類似這樣的路線數據的操作:
routes.MapRoute(
"Srp",
"soeg-{searchQuery}/{listingType}",
new { controller = "Srp", action = "Search", listingType = string.Empty },
new { listingType = "privat|forhandler|"}
);
和一個動作來配合它:
public ActionResult Search(QueryParameters queryParameters)
它完美 - MVC框架知道到SEARCHQUERY和listingType映射到QueryParameters的兩個屬性名稱相同的對象。
我的問題是單元測試。我正在使用Mvccontrib項目和LOVING ShouldMapTo方法:
[Test]
public void RegisterSrpRoutes_SoegWithKeywordAndValidListingType_ShouldMapCorrectly()
{
var queryParameters = new QueryParameters {SearchQuery = "hest", ListingType = "privat"};
"~/soeg-hest/privat".ShouldMapTo<SrpController>(controller => controller.Search(queryParameters));
}
雖然它不工作!我曾經對我的動作像這樣的具體參數:
public ActionResult Search(string searchQuery, string listingType)
其工作(顯然是單元測試會嘗試和地圖兩個參數(字符串搜索),而不是這一個對象
沒有人有一個想法如何解決問題,回到編寫所有屬性作爲參數的短小。mvc自動映射屬性的岩石,但我希望有一些方法,我可以有mvccontribs testhelper與該工作以及
我認爲你是對的。這有點痛苦和坦率地說,我想我只是要跳過ShouldMapTo而不是*嗅探* – 2010-02-08 12:17:07