我正在使用MVC2和MvcContrib HelpTester。MvcContrib測試助手問題
我有測試控制器在區域的問題。
這裏是我的測試類:
[TestFixture]
public class RouteTests
{
[TestFixtureSetUp]
public void Setup()
{
RouteTable.Routes.Clear();
MvcApplication.RegisterRoutes(RouteTable.Routes);
}
[Test]
public void RootMatchesHome()
{
"~/".ShouldMapTo<TradersSite.Controllers.HomeController>(x => x.Index());
}
[Test]
public void AdminProductShouldMapToIndex()
{
"~/Admin/Produit/".ShouldMapTo<TradersSite.Areas.Admin.Controllers.ProductController>(x => x.Index());
}
下面是從我ProductController的在管理方面的操作指數:
public ActionResult Index(int? page)
{
int pageSize = 10;
int startIndex = page.GetValueOrDefault() * pageSize;
var products = _productRepository.GetAllProducts()
.Skip(startIndex)
.Take(pageSize);
return View("Index", products);
}
這裏是我的AdminAreaRefistration的路線圖:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
最後,這裏是我從MbUnit獲取的消息:
[夾具-設置]成功 [失敗] RouteTests.AdminProductShouldMapToIndex 測試用例 'RouteTests.AdminProductShouldMapToIndex' 失敗:預期產物但管理員 MvcContrib.TestHelper.AssertionException 信息:期望的產物但管理員 來源:MvcContrib.TestHelper 堆棧跟蹤: RouteTests.cs(44,0):在CBL.Traders.ControllerTests.RouteTests.AdminProductShouldMapToIndex()沒有被登記在設置