Модульные тесты ABAP обнаруживаются / выполняются только после генерации. Как сделать тестовый класс видимым? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь написать модульные тесты для своего класса в ABAP, но когда я пишу код вручную в Eclipse, IDE сообщает, что нет тестового класса и нет исполняемых тестов. Если я использую мастер в SAP GUI , сгенерированный тест работает, и я могу заменить его своим тестом - который затем также работает - но когда я закрываю SAP GUI и снова открываю его, он не больше не обнаруживает любой тестовый класс или исполняемые тесты.

Мне кажется, это ошибка или какая-то проблема с SAP версией, которую я использую:

SAP NETWEAVER 7.4 15 (06/2016) sap.com SAP NETWEAVER 7.4

Я начинающий ABAP-программист, но я уже успешно провел тестирование в одном из моих классов, и у меня там нет проблем. Разница лишь в том, что другой класс работает в другой системе с более высокой версией SAP - 7.5.

Сталкивались ли вы с такой проблемой?

1 Ответ

1 голос
/ 26 апреля 2019

После нескольких дней легких исследований я обнаружил, что существует SAP-нота 2598526 , которая в значительной степени описывает мою проблему.

Для использования в будущем говорится:

Причина и предпосылки: Инфраструктура модульного тестирования ABAP вызывает класс CL_ABAP_COMPILER, чтобы определить классы тестирования из текущей программы. Однако вызов класса CL_ABAP_COMPILER завершается внутренней ошибкой.

Решение: Если описание относится к вашей ситуации, пожалуйста, установите новое ядро, содержащее патч "ABAP-SYCH: таблица дампированных типов имеет идентификаторы висячих типов".

Прямо сейчас мы попытаемся исправить ядро, и я дам вам знать, если это поможет.

ИЗМЕНИТЬ 06/05/2019:

Итак ... патч не помог с этой проблемой, но похоже, что я наконец-то нашел решение. Для этого есть три шага:

  1. Откройте SE03 и убедитесь, что здесь указано пространство имен с лицензией на разработку и производственной ролью (P)
  2. Открыть отчет: SATC_AC_INIT_NAMESPACE_REG и зарегистрировать пространство имен в ATC (ABAP Test Cockpit) - в противном случае кабина будет игнорировать пространство имен и не будет сканировать его на наличие тестовых классов.
  3. Регистрация пространства имен создаст запрос, поэтому перенесите его и активируйте класс, который имеет модульные тесты.

Когда вы сделаете это, вы сможете запускать тесты - и в SAP GUI, и в Eclipse нет проблем:).

...