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