2013-03-25 2 views
0

У меня есть проект WebApi, который я пытаюсь проверить. У меня есть контроллер -Проверка маршрута с помощью WebApiContrib

public class UserController : ApiController 
{ 
    public string Get() 
    { 
     return "foo"; 
    } 
} 

Мне нужно, чтобы проверить маршрут, и я пытаюсь использовать WebApiContrib.Testing пакет.

Теперь проблема заключается в том, что при регистрации маршрутов я использую GlobalConfiguration.Configuration.Routes, который имеет тип HttpRouteCollection.

В моем тесте я могу получить доступ к RouteTable.Routes, но это тип RouteCollection.

В результате я не могу зарегистрировать маршруты WebApi в своем тесте из-за несовместимости этого типа.

Неужели кто-нибудь сталкивался с этой проблемой раньше? Есть ли что-то очевидное, что мне не хватает?

ответ

3

Я решил это с помощью:

WebApiConfig.Register(GlobalConfiguration.Configuration); 

В TestFixtureSetup

+0

Это прекрасно работает до тех пор, пока есть два тестовых приборов, которые необходимо зарегистрировать конфигурацию;) Вы знаете, как «незарегистрированный» или «распоряжаться "предыдущей регистрации? – robbymurphy

+1

Перед вызовом 'WebApiConfig.Register (GlobalConfiguration.Configuration)' вам просто нужно вызвать 'GlobalConfiguration.Configuration.Routes.Clear()', чтобы избежать маршрутизации, отображаемого несколько раз. – robbymurphy

+0

ах, спасибо - это имеет смысл :-) – Maate

Смежные вопросы