Je suis en train de tester mes routes dans une application mvc. J'ai le code suivant:Pourquoi, lorsque j'inscris mes routes dans un test MVC, NUnit partage-t-il les tests?
using System.Web.Routing;
using MvcContrib.TestHelper;
using NUnit.Framework;
using web;
using web.Controllers;
namespace tests.web.Routes
{
[TestFixture]
public class routeTests
{
[Test]
public void Route_POSURL_MapsToPOSIndex()
{
MvcApplication.RegisterRoutes(RouteTable.Routes);
"~/POS".ShouldMapTo<POSController>(x => x.Index());
}
[Test]
public void Route_POSGetItem_MapsToPOSGetItem()
{
MvcApplication.RegisterRoutes(RouteTable.Routes);
"~/POS/GetItem/12345".ShouldMapTo<POSController>(x => x.GetItem());
}
}
}
Cependant, le 2ème test échoue indiquant: System.ArgumentException: Une route nommée 'Default' est déjà dans la collection d'itinéraire. Les noms de route doivent être uniques.
Si j'effectue l'un ou l'autre des tests individuellement, ils fonctionnent correctement. Évidemment, NUnit partage ma table de routage entre les tests. Pourquoi?
Je sais que je peux mettre mon appel RegisterRoutes dans une méthode TestFixtureSetup mais cela ne répond pas au problème et j'aimerais savoir ce qui me manque.
Est-ce que je manque quelque chose? Comment se fait-il que je ne trouve pas cette question ailleurs sur le net?
Merci! Matt