Существует ли более простой способ вызвать утверждение Java из теста каратэ и предоставить подтверждение сообщению об ошибке? - PullRequest
1 голос
/ 19 марта 2020

Есть ли более простой способ вызвать утверждение Java из теста по каратэ и выдать подтверждение сообщению об ошибке? У меня такое ощущение, что должен быть более элегантный способ?

Вот как я НЕПРАВИЛЬНО делаю это сейчас:

* def assertNotBlank =
    """
    function(val, msg) {
      var Assertions = Java.type('org.junit.jupiter.api.Assertions');
      var StringUtils = Java.type('org.apache.commons.lang3.StringUtils');
      var JSONObject = Java.type('org.json.JSONObject');
      return Assertions.assertFalse(StringUtils.isBlank(
        new org.json.JSONObject(val).toString()), msg);
    }
    """

Затем назовите его в свой файл функций следующим образом:

And eval assertNotBlank {val: '#(response)', msg: 'The reason here.'}

1 Ответ

0 голосов
/ 19 марта 2020

Просмотр этого кода заставляет меня думать, что вам лучше не использовать каратэ и просто придерживаться Java, особенно когда я вижу такие вещи, как new org.json.JSONObject. Каратэ так хорошо справляется с JSON, с какой стати вы хотите это сделать?

Также вы, вероятно, имеете в виду call вместо eval.

Тем не менее, возможно, это ответ даст вам несколько советов, прочитайте также комментарии: { ссылка }

...