我通常使用NUnit作为UnitTest框架,但是我现在工作的地方他们只使用MSTest。 在Nunit,我可以使用以下内容:
[FixtureSetup]
public override void MainSetup()
{
_serviceHost = new ServiceHost(typeof(PersonService));
_serviceHost.Open();
}
[FixtureTearDown]
public override void MainTeardown()
{
_serviceHost.Close();
}
我注意到在MSTest中,如果你想在所有测试的持续时间内初始化并在所有测试运行后关闭,你必须使用下面的STATIC方法,因为你知道我不能再使用我的类了。 以下方法将崩溃!!!
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
_serviceHost = new ServiceHost(typeof(PersonService));
_serviceHost.Open();
}
如何初始化我的服务主机一次,并在MSTest中运行所有测试后关闭?
感谢您的任何建议
答案 0 :(得分:2)
如果您使_serviceHost
变量也是静态的,那么您应该是安全的。