TEST-INJECTION и TEST-SEAM в коде ABAP

Использование Regex ниже - это путь

lines = "hello 12 hi 89"
import re
output = []
line = lines.split()
for word in line:
        match = re.search(r'\d+.?\d*', word)
        if match:
            output.append(float(match.group()))
print (output)
1
задан jcjr 13 July 2018 в 11:47
поделиться

1 ответ

См. документацию относительно тестовых швов здесь .

Примечание

Инъекции могут создаваться только в тестовых классах, которые определены в тест включает в себя текущую программу. Тестирование в настоящее время возможно только в пулах классов и функциональных группах. Это означает, что тестовые швы возможны только в пулах классов и функциональных группах.

Также имейте в виду, что они существуют только с момента выпуска ABAP 7.50 (благодаря Sandra )

Чтобы было ясно: документация говорит о пулах классов, что означает, что она не будет работать, например отчеты. Вам нужно объявить глобальный класс с локальным тестовым классом, определенным в его тестировании.

2
ответ дан petul 17 August 2018 в 12:59
поделиться
  • 1
    Моя версия SAP - 7.50 (если ниже, сообщение об ошибке будет отличаться). Это исполняемая программа с этим кодом. Согласно сообщениям об ошибках, проблем с SEAM нет. Как мне изменить код или «архитектуру», чтобы заставить его работать? – jcjr 16 July 2018 в 11:55
  • 2
    @jcjr Вам нужен «реальный». класс. Затем перейдите к тесту (вкладка SE80: Ctrl + Shift + F11, eclipse: Test Classes внизу) – petul 16 July 2018 в 13:06
  • 3
    Он работает сейчас! Я бы сказал, что «он должен быть в глобальном классе, а не локальном». Оба они кажутся мне «реальными». Можете ли вы добавить его в свой пост, чтобы сделать его на 100% понятным? Во всяком случае, ваш намек заставил меня туда. Благодаря! – jcjr 16 July 2018 в 13:32
  • 4
    Пулы классов @jcjr в ABAP фактически означают глобальный класс. Но я могу добавить его для уточнения – petul 16 July 2018 в 19:05
Другие вопросы по тегам:

Похожие вопросы: