如何测试与数据库的连接是否成功建立
本文关键字:连接 是否 成功 建立 数据库 何测试 测试 | 更新日期: 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;
}