2013-03-25 83 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