Citrusframework - действие Java - получить результат

Помимо вызовов REST-API, мне нужно вызвать свой собственный Java-класс, который в основном делает что-то, что я хочу подтвердить позже в тесте через вызовы REST-API.

При вызове моего Java-класса ожидается ожидаемое поведение: он может выйти из строя или не выйти из строя, в зависимости от фактического тестового примера.

Есть ли шанс закодировать это ожидание в моем тестовом классе:

java("com.org.xyz.App").method("run").methodArgs(args).build();

Поскольку это основной класс, который должен быть выполнен позже в автоматическом режиме, я бы предпочел проверить код возврата. Однако я ищу любой возможный способ (Exception-Assertion, Stdout-Check, ..) для проверки статуса программы.


person Christoph Wiechmann    schedule 06.11.2018    source источник


Ответы (1)


Поскольку вы используете Java DSL для написания тестовых примеров, я бы предложил использовать пользовательскую реализацию тестового действия и/или инициализировать ваш собственный класс непосредственно в тестовом методе и вызвать метод, как если бы вы делали это с любым другим API.

Вы можете обернуть пользовательский код в пользовательскую реализацию AbstractTestAction, так как у вас будет доступ к TestContext, и ваш пользовательский код будет интегрирован в последовательность тестовых действий.

java("com.org.xyz.App").method("run").methodArgs(args) API предназначен только для соответствия XML DSL, где у вас нет возможности инициализировать собственные экземпляры классов Java. На мой взгляд, слишком сложно для вашего требования.

person Christoph Deppisch    schedule 07.11.2018