是否可以在MS Test中创建和关闭wcf服务主机

时间:2010-11-01 06:32:07

标签: c# wcf unit-testing mstest

我通常使用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中运行所有测试后关闭?

感谢您的任何建议

1 个答案:

答案 0 :(得分:2)

如果您使_serviceHost变量也是静态的,那么您应该是安全的。