我想编写一个单元测试,断言连接字符串是有效的,以便与SQL Db建立连接。
如果我有:
string connectionString = GetCOnenctionString();
bool conenctionEstablished = false;
如果通过提供'connectionString'检查Db,我如何设置'conenctionEstablished'变量的值?
这样我就可以在断言中使用它。
答案 0 :(得分:3)
您可以尝试连接try / catch,然后根据连接是否成功设置conenctionEstablished。
答案 1 :(得分:3)
它不会是一个“纯粹”的单元测试,因为你的数据库是真实的,但无论如何。我会使用try catch块,在打开连接后,使用ExecuteNonQuery()执行“select 1”语句。在try块的末尾,将标志设置为true。
答案 2 :(得分:2)
有不同的状态,请看:
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);
}
}
答案 3 :(得分:2)
有一个名为Connectionstate的枚举 所以你可以断言连接是否已关闭,打开连接等等。
Assert.AreEqual(ConnectionState.Connecting, sqlcon.State);
答案 4 :(得分:0)
我们宁可通过使用以下代码检查连接是否打开:
using System.Data;
if (conn.State == ConnectionState.Open)
{
return true;
}
else
{
return false;
}