создать тестовый жгут (юнит тест) - PullRequest
1 голос
/ 13 июня 2011

Я должен создать тест для этого класса. Может кто-нибудь помочь, как это сделать.

public class Db    {
private System.Data.SqlClient.SqlConnection myConn;

public Db(string connString)
{
    myConn = new System.Data.SqlClient.SqlConnection(connString);
}

public bool Connected
{
    get { return (myConn.State == ConnectionState.Open); }
}

public void Connect()
{
    myConn.Open();
}

public void Disconnect()
{
    myConn.Close();
}
}

Да, строка подключения может быть передана в качестве параметра конструктора.

Привет

Yahoo

1 Ответ

1 голос
/ 13 июня 2011

Ваша единственная зависимость (SqlConnection) не является инъекционной, поэтому первое, что нужно сделать, это, по крайней мере, иметь цепочку конструктора Dependency Injection бедного человека, позволяющую передавать SqlConnection в качестве параметра.Кроме этого, я вижу, что этот класс делает очень мало, но действует как обертка для соединения.Возможно, я бы абстрагировал соединение как IDbConnection, и, при необходимости, смоделировал бы его, например, тест для метода Connected был бы примерно таким:

...