У меня есть тест, который вызывает хранимую процедуру. Я ожидаю, что хранимая процедура отклонит предоставленный ввод с ошибкой. Соответствующая часть моего теста tSQLt:
EXEC tSQLt.ExpectException @ExpectedMessagePattern = '% более одной подкатегории%';
EXEC usp_add_rfx_rfx много, из, параметров, здесь
Результат теста tSQLt зависит от серьезности ошибки, связанной с usp_add_rfx_rfx sp.
Если серьезность 12 или более, тест не проходит с этим сообщением:
[test_RFX_configuration]. [test_multiple_categories_and_lots] не удалось: (Ошибка) Счетчик транзакций после EXECUTE указывает на несовпадающее количество операторов BEGIN и COMMIT. Предыдущее количество = 1, текущее количество = 0. [16,2] {test_multiple_categories_and_lots, 0} (также была ОШИБКА ROLLBACK -> Запрос ROLLBACK TRANSACTION не имеет соответствующей BEGIN TRANSACTION. {Private_RunTest, 149})
Если серьезность меньше, тест не проходит следующим образом:
[test_RFX_configuration]. [test_multiple_categories_and_lots] не удалось: (Failure) Ожидается ошибка.
Я погуглил проблему и попробовал несколько вещей, которые нашел - с помощью TRY-CATCH и т. Д., Но без радости. Любые идеи?