Преобразование строк возвращенного объекта DataTable в полезный список? - PullRequest
0 голосов
/ 23 июня 2009

В настоящее время я пишу модульные тесты для приложения, близкого к завершению (до того, как руководство рассмотрит его и вывернет наизнанку). Я тестирую бизнес-уровень, и метод настроен на возврат данных всех «GroupID», которые являются просто целым числом, представляющим группу, к которой принадлежит пользователь.

Я предполагаю, что лучший способ утверждать в этом модульном тесте - утверждать, что правильные идентификаторы группы возвращаются из базы данных контролируемых тестов. Тем не менее, я не уверен, как утверждать на основе данных. Является ли единственный (и лучший) возможный способ сделать это, чтобы просто перебрать таблицу данных, пока она не станет пустой, и добавить каждое значение в массив целых чисел? Как можно заявить об этом тесте?

Ответы [ 2 ]

0 голосов
/ 23 июня 2009

лучший способ достичь с помощью коллекции ...

List<string> items = new List<string>(dtbl.Rows.Count);

    for (int RowCount = 0; RowCount < dtbl.Rows.Count; RowCount++)
    {
        items.Add(dtbl.Rows[RowCount]["ID"].ToString());
    }

    items.ToArray();
0 голосов
/ 23 июня 2009

Зависит от того, как метод на бизнес-уровне получает данные. Если это прямо из базы данных, то у вас нет другого выбора, чем использовать тестовую базу данных. Правда, это не в духе юнит-тестов.

В идеале метод бизнес-уровня должен получать данные от поставщика данных, который вы можете поменять во время выполнения, используя что-то вроде IoC (например, Castle Windsor) или фреймворк типа Rhino Mocks .

В любом случае вам необходимо настроить тест и сравнить возвращаемые значения методов с ожидаемыми. Используете ли вы базу данных или фиктивный объект, этот подход не влияет, поэтому проверка содержимого и порядка массива по жестко закодированному известному значению вполне приемлема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...