Тестування на треку ABAP

Дізнайтеся, як тестувати свої вправи з ABAP на Exercism


На Exercism

Кожна вправа подана як один клас ABAP (з одним або кількома методами). Зазвичай наведено визначення методів із вхідними та вихідними параметрами. Доповніть реалізацію методу згідно з умовами вправи.

Коли код для тестування готовий, виберіть «Run Tests». Це запустить відповідний тестовий клас ABAP, і за кілька секунд буде показано результати. Якщо є помилки, поверніться до коду та відповідно його виправте. Якщо всі тести проходять, вітаємо! Вправу завершено, і можна надіслати рішення.

Розвʼязання проблем

Під капотом код ABAP компілюється та виконується за допомогою так званого транспайлера abaplint. Це все ще відносно нове рішення. Якщо виникнуть проблеми, яких не вдається розвʼязати, створіть issue на GitHub.

Налагодження та журналювання

Налагоджувача на сайті Exercism під час запуску вправ з ABAP немає. Через це буває важко зрозуміти, чому тести не проходять. Утім, є хитрий спосіб журналювати дані у своєму коді (зауваження: у жодній системі ABAP це не працює).

Ось приклад. Перше зображення показує код вправи з кількома тестами, що не проходять. Кожен тест, що не пройшов, показує очікуване та фактичне значення:

вправа без журналювання

Щоб спростити налагодження, додайте один або кілька викликів console=>log() і передайте методу будь-які проміжні дані. Використання символів нового рядка (\n) допоможе структурувати вивід. Коли тести запущено, у результатах тестів буде видно вивід консолі:

вправа з журналюванням

Зауваження: вивід консолі видно лише для тестів, що не пройшли. Якщо публікуєте рішення, можливо, варто прибрати оператори журналювання, щоб опубліковану ітерацію було легше читати іншим учасникам спільноти.

У власній системі

Повний трек

Найпростіший спосіб почати практикуватися у власній системі - клонувати цей репозиторій за допомогою abapGit. Так буде створено заглушки та тестові класи для всіх вправ, доступних наразі.

Окремі вправи

Запустіть ABAP Development Tools (або транзакції SE24 чи SE80, якщо система старіша) і створіть новий клас ABAP із тією самою назвою, що й клас у вправі. Так само реалізуйте заглушку класу й тестовий клас, скопіювавши код із сайту Exercism.

Реалізація рішень

Тепер можна відредагувати клас для вправи та реалізувати рішення. Потім запустіть модульні тести ABAP, щоб перевірити, чи проходить рішення всі тести. Коли все готово й успішно протестовано, скопіюйте код у редактор вправи на сайті Exercism. Запустіть тести й там.

Тестування та завершення вправи

У власній системі код пишеться та тестується стандартним компілятором і середовищем виконання SAP ABAP. Якщо тести не проходять, найімовірніше, причина у власному коді. Погляньте ще раз.

Якщо код успішно проходить модульні тести, скопіюйте реалізацію класу у вправу на сайті Exercism і виберіть «Run Tests». Звісно, тести мають пройти й там. Якщо ні, зверніться до розділу «Розвʼязання проблем» вище.