J'utilise MVC2 avec MvcContrib HelpTester.Problème MvcContrib Test Helper
J'ai un problème avec les contrôleurs de test qui sont dans les zones.
Voici ma classe de test:
[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());
}
est ici l'indice d'action de mon ProductController dans la zone Admin:
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);
}
Voici la carte de l'itinéraire dans mon AdminAreaRefistration:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
Enfin voici le message que je reçois de MbUnit:
[montage-setup] succès [échec] RouteTests.AdminProductShouldMapToIndex TestCase 'RouteTests.AdminProductShouldMapToIndex' a échoué: produit attendu, mais était administrateur MvcContrib.TestHelper.AssertionException Message: produit attendu, mais était administrateur Source: MvcContrib.TestHelper StackTrace: RouteTests.cs (44,0): à CBL.Traders.ControllerTests.RouteTests.AdminProductShouldMapToIndex()