Подскажите пожалуйста как можно настроить тестовые данные, для того что бы протестировать Delete с помощью библиотеки Terrasoft.TestFramework?
Может у вас есть пример кода?
Спасибо.
Нравится
Александр, для создания записей, как и везде в скриптах, можно воспользоваться функциональностью классов либо Entity, либо Insert, иногда используют их совместно, как в функциях, которые применялась для подготовки тестирования работоспособности Delete в ядре:
public static void CreateSchemaDataInDB(UserConnection userConnection, EntitySchema entitySchema, params object[] values) { Entity entity = entitySchema.CreateEntity(userConnection); int columnIndex = 0; foreach (object value in values) { entity.SetColumnValue(entitySchema.Columns[columnIndex++], value); } var insert = entity.CreateInsert(); insert.Execute(); } public static void CreateSchemaDataInDB(UserConnection userConnection, EntitySchema entitySchema, TestData testData) { var inserts = new Collection<Insert>(); foreach (var dataRow in testData) { Entity entity = entitySchema.CreateEntity(userConnection); foreach (TestDataColumnValue dataColumn in dataRow) { entity.SetColumnValue(dataColumn.GetColumnValueName(), dataColumn.Value); } inserts.Add(entity.CreateInsert()); } using (DBExecutor dbExecutor = userConnection.EnsureDBConnection()) { foreach (Insert item in inserts) { item.Execute(dbExecutor); } } }
Но конкретная реализация зависит от того, что Вы хотите создавать и удалять в ходе своего теста.
Зверев Александр,
А возможно не создавать реально данные в базе? а использовать какое-то темповое хранилище?? Или что бы проверить Delete мне необходимо создавать реальные данные в базе?? и Как в таком случае в тестах инициализировать UserConnection?
Спасибо.
В этой теме есть примеры как имитации данных в базе, так и с формированием реальных запросов, но без их запуска, со сравнением полученного SQL-кода. Там тестируют Select, можно так и с Delete.
Зверев Александр,
Я видел эту тему, но код который используется в нем у меня не компилируется так как не видно некоторых типов
TestDBTypeConverter TestData TestData testData = UnitTestUtilities.GetTestDataWithStructure(entitySchemaManager, "Activity");
Не могу понять какую библиотеку нужно подключить для корректной работы??
у меня версия системы 7.12.2
В 7.12 уже должны работать примеры из этой статьи, там есть ссылка на исходники SDK.