【发布时间】:2011-02-15 02:31:07
【问题描述】:
我正在使用 MVC2 和 MvcContrib HelpTester。
我在测试区域中的控制器时遇到问题。
这是我的测试课:
[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 收到的消息:
[fixture-setup] 成功 [失败] RouteTests.AdminProductShouldMapToIndex TestCase 'RouteTests.AdminProductShouldMapToIndex' 失败:预期产品但为管理员 MvcContrib.TestHelper.AssertionException 消息:预期产品但为管理员 来源:MvcContrib.TestHelper 堆栈跟踪: RouteTests.cs(44,0):在 CBL.Traders.ControllerTests.RouteTests.AdminProductShouldMapToIndex()
【问题讨论】:
标签: asp.net-mvc testing mvccontrib