Проверка и тестирование программ. Операторы ASSERT и BREAK-POINT
Когда программист создает сложное приложение, состоящее из множества программных блоков (инклудов, функциональных модулей, классов и т.п.), то часто возникает необходимость в комплексной отладке такого приложения. Если исходного кода много, то такая задача становится довольно сложной.
В языке ABAP предусмотрен ряд операторов служащих этой цели. Сегодня мы рассмотрим два из них. Это операторы ASSERT и BREAK-POINT. Рассказ пойдет о базовой функциональности без углубления во все варианты использования. Зная с чего начать и куда смотреть, каждый сможет, при необходимости, изучить данную функциональность углубленно.
Большинство ABAP-программистов сталкивалось с простейшими вариантами этих операторов.
- Оператор BREAK-POINT без параметров просто переводит выполнение программы в режим отладки.
- Оператор ASSERT <логическое выражение>. В случае, когда <логическое выражение> = истина, данный оператор никак не влияет на выполнение программы. В случае, когда <логическое выражение> = ложь, выполнение программы прерывается с исключительной ситуацией ASSERTION_FAILED.
Теперь давайте рассмотрим расширенный вариант применения этих операторов. Для его использования нужно предварительно в транзакции SAAB создать Checkpoint group (Рис. 1)
Рис. 1. Создание Checkpoint group
После создания Группы можно использовать наши операторы с расширением ... ID group . Теперь операторы будут учитываться исполняющей системой ABAP, только если соответствующая group активна. (Активируется группа всё в той же транзакции SAAB нажатием на экранную кнопку .
Безусловно полезным является возможность ограничивать срабатывание операторов группы для заданных пользователей и серверов приложений (Рис. 2)
Рис. 2. Редактирование Checkpoint group
Следующей полезной возможностью является возможность управлять поведением операторов в рамках группы.
Операторы BREAK-POINT можно либо активировать (radiobutton Break в секции Breakpoints на Рис. 2), либо деактивировать (radiobutton Inactive в секции Breakpoints на Рис. 2).
Оператору ASSERT можно задать больше вариантов поведения. А именно:
- Деактивировать (Inactive в секции Assertions на Рис. 2)
- При истинном писать значения в Журнал (Logв секции Assertions на Рис. 2). В этом случае формат оператора будет выглядеть так: Сам Журнал можно считать на закладке (об этом речь пойдет ниже)
- Вызывать прерывание программы с исключительной ситуацией ASSERTION_FAILED (Abortв секции Assertions на Рис. 2)
- Для положения radiobutton Break действия будут различаться для выполнения программы в диалоговом режиме и для выполнения
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти