2013-03-25 114 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 2013-07-03 18:40:22

+1

在調用'WebApiConfig.Register(GlobalConfiguration.Configuration)'之前,您只需調用'GlobalConfiguration.Configuration.Routes.Clear()'以避免路由被多次映射。 – robbymurphy 2013-07-05 13:18:53

+0

啊,謝謝 - 這是有道理的:-) – Maate 2013-07-05 13:24:20