首页 > 解决方案 > 使用 Finaliser 进行清理 - Xunit

问题描述

我一直在使用终结器在 XUnit 中执行清理操作。

    public class CSATWebClientTests
    {
        private readonly        CSATWebServer server;
        private readonly        CSATClient    client;
        private static readonly Random        Rng            = new Random((int)DateTime.Now.Ticks);
        private readonly        string        instancePrefix = $"http://localhost:{Rng.Next(20000, 30000)}/";

        public CSATWebClientTests()
        {
            server = new CSATWebServer(new[] {instancePrefix});
            client = new CSATClient(instancePrefix);
            server.Start();
        }

        ~CSATWebClientTests()
        {
            server.Stop();
        }
}

这似乎可行,但我已经快速窥探了文档,它说我应该IDispose改为实施。

有什么理由会更好吗?

标签: c#.netdestructorxunit

解决方案


推荐阅读