public static void AssemblyCleanup()
 {
     if (DatabaseType.Equals("docker", StringComparison.OrdinalIgnoreCase))
     {
         var containerLabel = CurrentTestSettings.ContainerLabel;
         DockerSupports.StopContainer(containerLabel);
     }
     else
     {
         TestLocalDbProcess.DestroyDatabase(TestDbConnections.LocalDb.Master, DatabaseName);
     }
 }
        /// <summary>
        /// Creates the docker container.
        /// </summary>
        /// <param name="containerSetting">The container setting.</param>
        /// <param name="containerLabel">The container label.</param>
        private static void CreateDockerContainer(ContainerSetting containerSetting, string containerLabel)
        {
            var imageName             = containerSetting.DatabaseImage;
            var containerReadyMessage = containerSetting.ContainerReadyMessage;

            // 確認指定的 docker image 是否存在
            var imageExists = DockerSupports.CheckImage(imageName);

            if (imageExists.Equals(false))
            {
                Assert.Fail($"docker image {imageName} not exists.");
            }

            // 以指定的 docker image 建立測試用的 container
            var isReady = DockerSupports.CreateContainer(imageName, containerReadyMessage, containerLabel);

            if (isReady.Equals(false))
            {
                Assert.Fail("create docker container failure.");
            }

            // 取得 container 的 ip
            DatabaseIp = imageName.Contains("windows")
                ? DockerSupports.GetContainerIp(DockerSupports.ContainerId)
                : $"127.0.0.1,{DockerSupports.Port}";

            if (string.IsNullOrWhiteSpace(DatabaseIp))
            {
                Assert.Fail("can not get docker container inside ip.");
            }

            // 在 container 裡的 SQL Server 建立測試用 Database
            var connectionString = string.Format(TestDbConnections.Container.Master, DatabaseIp);

            DatabaseCommands.CreateDatabase(connectionString, DatabaseName);
        }