nUnit + OWIN启动类 - 无法使用SetUpFixture和OneTimeSetUp属性

问题描述:

我创建了一个单元测试项目(我正在使用nUnit),并且我想在其中使用OWIN自主主机& Castle Windsor。nUnit + OWIN启动类 - 无法使用SetUpFixture和OneTimeSetUp属性

但问题是,在执行任何测试之前,我无法管理以下代码以进行初始化。

[assembly: OwinStartup(typeof(UnitTests.Startup))] 
namespace UnitTests 
{ 
    [SetUpFixture] 
    public class Startup 
    { 
     public static IWindsorContainer _container; 

     [OneTimeSetUp] 
     public void Configuration(IAppBuilder appBuilder) 
     { 
      var config = new HttpConfiguration(); 

      containerWithControllers = new WindsorContainer(); 

      //.... 
      config.DependencyResolver = new CastleResolver(_container); 

      appBuilder.UseWebApi(config); 
     } 
    } 
} 

问题是,SetUpFixture由NUnit的框架和方法标有OneTimeSetUp不能有任何参数创建。所以你的SetUpFixture类应该看起来像这样:

[SetUpFixture] 
public class SetUpFixture 
{ 
    public static TestServer _server; 

    [OneTimeSetUp] 
    public void SetUp() 
    { 
     _server = TestServer.Create<Startup>(); 
    } 
}