Нуждаюсь в помощи с ошибочным использованием MvcContrib. ShouldMapTo TestHelper () универсальный дополнительный метод

Я пробую к модульному тесту свои маршруты с помощью MvcContrib. TestHelper ShouldMapTo<TController>(), дополнительный метод, но мои тесты перестал работать со следующим сообщением об ошибке:

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

Но ReviewController действительно встречает ограничение. Это наследовалось классу под названием SmartController, который наследовался Системе. Сеть. Mvc. Контроллер. Таким образом я в замешательстве относительно того, как разрешить эту ошибку.

Вот мой модульный тест:

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

Вот объявление класса ReviewController:

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

И объявление класса SmartController:

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

Только для усмешек я пытался удалить SmartController из иерархии наследования так, чтобы ReviewController наследовался непосредственно Контроллеру, но ошибка все еще брошена.

Кто-либо знает то, что я делаю неправильно?

9
задан Brent 5 March 2010 в 10:48
поделиться

1 ответ

Я использовал этот метод с MVC 2 и MvcContrib, созданными с помощью MVC 2, и все работало нормально. Я обнаружил эту проблему:

http://groups.google.com/group/mvccontrib-discuss/browse_thread/thread/356203db654fa4bd?pli=1

Используете ли вы старую сборку MvcContrib (построенную с помощью MVC1) с MVC 2 ? Если да, вам следует загрузить двоичные файлы MvcContrib или исходные коды для MVC 2.

4
ответ дан 3 November 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: