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

时间:2017-09-05 14:10:55

标签: nunit owin

我创建了一个单元测试项目(我使用的是nUnit),我想使用OWIN自我主机&温莎城堡里面。

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

[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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

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

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

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