Подтвердить что ты не робот

С# SMO Database не создает журнал

У меня есть интеграционный тест, который создает базу данных типа Microsoft.SqlServer.Management.Smo.Database:

var defaultConnectionConnectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString();
var sqlConnection = new SqlConnection(defaultConnectionConnectionString);
var serverConnection = new ServerConnection(sqlConnection);
 _server = new Server(serverConnection);
 _database = new Database(_server, _integrationTestingDatabaseName);
 _database.Create();

Когда я запускаю тест интеграции через CLI для NUnit, когда тест заканчивается, SQL для создания базы данных сбрасывается на консоль. Это загромождает выход и не является чем-то, что я хочу увидеть при запуске этого теста интеграции. Как я могу остановить это?

4b9b3361

Ответ 1

Это гусиная погоня и не может быть воспроизведена.

Я предполагаю, что может быть какая-то путаница, возможно, один из ваших сценариев делает SQL Print или какую-то красную селедку. Поскольку выполнение этого Unit Test для создания SQL-дБ через объекты управления Sql делает не вывод SQL Creation script.

введите описание изображения здесь

Даже выполнение непосредственно из командной строки не регистрирует создание SQL script. Вот репродукция:

using NUnit.Framework;
using ConsoleApplication1;
using System.IO;
using System.Diagnostics;

[TestFixture]
public class UnitTest1
{    
    static FileStream objStream;

    [SetUp]
    public static void Setup()
    {
        objStream = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "\\AAA_Output.txt", FileMode.OpenOrCreate);
        TextWriterTraceListener objTraceListener = new TextWriterTraceListener(objStream);
        Trace.Listeners.Add(objTraceListener);
        Trace.WriteLine("===================================");
        Trace.WriteLine("App Start:" + DateTime.Now);
        Trace.WriteLine("===================================");
    }

    [TestCase]
    public void TestMethod1()
    {
        Program.CreateDB();
    }

    [TearDown]
    public static void TearDown()
    {
        Trace.Flush();
        objStream.Close();
    }
}

Результаты:

введите описание изображения здесь