Как написать модульные тесты для вызовов базы данных

Я близок к началу нового проекта и (задыхаюсь!) Впервые в жизни пытаюсь включить модульные тесты в мой проект.

У меня возникли проблемы при разработке самих модульных тестов. У меня есть несколько методов, которые достаточно легко протестировать (передать два значения и проверить ожидаемый результат). У меня есть другие части кода, которые делают более сложные вещи, такие как выполнение запросов к базе данных, и я не уверен, как их протестировать.

public DataTable ExecuteQuery(SqlConnection ActiveConnection, string Query, SqlParameterCollection Parameters)
{
    DataTable resultSet = new DataTable();
    SqlCommand queryCommand = new SqlCommand();
    try
    {
        queryCommand.Connection = ActiveConnection;
        queryCommand.CommandText = Query;

        if (Parameters != null)
        {
            foreach (SqlParameter param in Parameters)
            {
                 queryCommand.Parameters.Add(param);
            }
        }

        SqlDataAdapter queryDA = new SqlDataAdapter(queryCommand);
        queryDA.Fill(resultSet);
    }
    catch (Exception ex)
    {
        //TODO: Improve error handling
        Console.WriteLine(ex.Message);
    }

    return resultSet;
}

Этот метод, по сути, принимает все необходимые фрагменты для извлечения некоторых данных из базы данных и возвращает данные в объекте DataTable.

Первый вопрос, вероятно, самый сложный: что я должен даже проверить в такой ситуации?

Как только это будет решено, встает вопрос о том, следует ли макетировать компоненты базы данных или пытаться провести тестирование на фактической базе данных.

Ответы на вопрос(9)

Ваш ответ на вопрос