Unit тестирование с помощью tSQLt на вычисляемых столбцах

Я недавно писал несколько модульных тестов базы данных tSQLt (через Red Gate SQL Test) для процедур, которые вызывают таблицы, содержащие (постоянные) вычисленные столбцы, и обратите внимание, что если я использую FakeTable SP, я обнаруживаю, что вычисляемые столбцы не заполняются (они оцениваются как нулевые). Вычисляемый столбец является ключом к тесту, поэтому я не могу просто игнорировать столбец в тесте, и я бы скорее не дублируйте логику.

Я оцениваю результаты, используя tSQLt.AssertEqualsTable SP, и поэтому я хочу убедиться, что значения столбцов одинаковы в обоих.

На практике я работал над этим, не используя FakeTable, а используя оператор транзакции (частичного) отката в конце теста (согласно сообщению в блоге на http://sqlity.net/ ru / 585 / how-to-rollback-in-Procedures / ) или явное удаление тестовых значений.

Я уверен, что должен быть лучший способ написания этого теста, и буду приветствовать любые предложения.

6
задан Daniel Mann 7 March 2012 в 02:30
поделиться