Используя Microsoft Fakes Framework, я работаю над модульным тестом, который проверяет метод вставки записи. У меня есть три класса: TransportControllerTest
, TransportManager
и DbController
. Класс TransportControllerTest
является классом Unit Test. TransportManager
является частью бизнес-логического уровня, а DbController
имеет три метода (вставка, получение и удаление). Эти последние методы получают доступ к моей базе данных, используя ADO.NET.ADO.NET специфический тестовый набор данных id mocking
В моем модульном тесте Я хочу протестировать метод вставки TransportController
. Этот контроллер дважды вызывает dbController
: dbController.insert()
и dbController.get()
. Последний вызов дает последний сгенерированный ключ, передавая параметры, используемые для вставки при первом вызове. Таким образом, в TransportController
, я могу получить доступ сгенерированный идентификатор по телефону:
string val = dt.Rows[0]["id"].ToString();
int id = Int32.Parse(val);
Я хочу издеваться значение выше, так что это выражение верно:
dt.Rows[0]["id"].ToString().Equals("*mocked id*");
Я попытался следующие:
DataTable dt = new DataTable(dataSetName);
dt.Columns.Add("id");
DataRow dr = dt.NewRow();
dr.ItemArray.SetValue(1, 0);
dt.Rows.Add(dr);
return dt;
Но это не работает. Как я могу сделать данное выражение истинным в своем тесте?
спасибо, это сработало для меня – dpwulp94