Я писал некоторые модульные тесты базы данных tSQLt (через Red Gate SQL Test) для процедур, которые в последнее время вызывают таблицы, содержащие (сохраняемые) вычисляемые столбцы, и отмечают, что если я использую FakeTable SP, я обнаружу, что вычисленные столбцыне заселены (они оцениваются как нулевые).Вычисляемый столбец является ключом к тесту, поэтому я не могу просто проигнорировать столбец в тесте и предпочел бы не дублировать логику.
Я оцениваю результаты, используя tSQLt.AssertEqualsTable SPи поэтому я хочу убедиться, что значения столбцов одинаковы в обоих случаях.
На практике я обошел эту проблему, не используя FakeTable, а используя (частичный) оператор транзакции отката в концетеста (согласно сообщению в блоге на http://sqlity.net/en/585/how-to-rollback-in-procedures/) или явное удаление значений теста.
Я уверен, что должен быть лучший способ кодирования этого теста, и приветствую любые предложения.