Besoin d'aide avec l'erreur en utilisant le ShouldMapTo de MvcContrib.TestHelper () méthode d'extension générique

StackOverflow https://stackoverflow.com/questions/2389833

Question

Je suis en train de tester mes unité itinéraires à l'aide de la méthode d'extension MvcContrib.TestHelper ShouldMapTo<TController> (), mais mes tests échouent avec le message d'erreur suivant:

failed: Method MvcContrib.TestHelper.RouteTestingExtensions.ShouldMapTo:
type argument 'ReviewController' violates the constraint of type parameter
'TController'.

Mais ReviewController ne répond la contrainte. Il hérite d'une classe appelée SmartController, qui hérite de System.Web.Mvc.Controller. Je suis donc à une perte sur la façon de résoudre cette erreur.

Voici mon test unitaire:

[Test]
public void Should_map_review_controller_routes_correctly()
{
    MvcApplication.RegisterRoutes(RouteTable.Routes);
    "~/reviews"
        .ShouldMapTo<ReviewController>(c => c.Index());
}

Voici la déclaration de la classe ReviewController:

public class ReviewController : SmartController<Review, ReviewForm>
{
...
}

et la déclaration de la classe SmartController:

public abstract class SmartController<TModel, TForm> : Controller
    where TModel : new()
{
...
}

Juste pour des grimaces, j'ai essayé de supprimer SmartController de la hiérarchie d'héritage afin que ReviewController hérite directement de contrôleur, mais l'erreur est toujours levée.

Quelqu'un sait-il ce que je fais mal?

Était-ce utile?

La solution

J'ai utilisé cette méthode avec MVC 2 et MvcContrib construit avec MVC 2 et tout a bien fonctionné. J'ai trouvé ce problème:

http://groups.google.com / groupe / MvcContrib-discuter / browse_thread / fil / 356203db654fa4bd? PLI = 1

Utilisez-ancien ensemble MvcContrib (construit avec MVC1) vous avec MVC 2? Si oui, vous devez télécharger les binaires ou sources MvcContrib pour MVC 2.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top