如何测试与数据库的连接是否成功建立

本文关键字:连接 是否 成功 建立 数据库 何测试 测试 | 更新日期: 2023-09-27 18:09:34

我想写一个单元测试,它断言连接字符串是有效的,以便与SQL数据库建立连接。

如果我有:

string connectionString = GetCOnenctionString();
bool conenctionEstablished = false;

我怎么能设置'conenctionEstablished'变量的值作为检查的结果与'connectionString'提供的Db ?

这样我就可以在Assert中使用它

如何测试与数据库的连接是否成功建立

您可以尝试在try/catch中连接,然后根据连接是否成功设置conenctionEstablished

这不是一个"纯粹的"单元测试,因为您的数据库是真实的,但无论如何。我会使用try catch块,并在打开连接后使用ExecuteNonQuery()执行"select 1"语句。在try块的末尾设置标志为true

有不同的状态可用,看看这个:

private static void OpenSqlConnection(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}

有一个名为Connectionstate的枚举所以你可以断言连接是关闭的,打开连接,等等。

Assert.AreEqual(ConnectionState.Connecting, sqlcon.State);

我们可以使用以下代码检查连接是否打开:

using System.Data;
if (conn.State == ConnectionState.Open)
{
    return true;
}
else 
{
    return false;
}