Проблема с передачей конфигурации как части karate.callSingle () - PullRequest
2 голосов
/ 19 июня 2019

Как видно из заголовка, у меня возникают проблемы при попытке передать элемент конфигурации в файл функций, который я вызываю из callSingle () в karate-config.js. Все работает как положено, если я передаю только 1 параметр, который является путем к файлу объекта. Я попытался скопировать всю конфигурацию из примера karate-config.js , но все еще получал ту же ошибку. Буду признателен за любые объяснения.

Каратэ-config.js:

function fn() {
  var env = karate.env; // get system property 'karate.env'
  karate.log('karate.env system property was:', env);
  if (!env) {
    env = 'kermit';
  }
    karate.log('karate.env system property was:', env);
  var config = {
    env: env,
    base_url: 'https://api.'+env+'.chdev.org',
    account_url: 'https://account.'+env+'.chdev.org'
  }

  var result = karate.callSingle('classpath:authorization/authorization.feature', config);
  karate.log(result);

  return config;
}

Ошибка, которую я получаю:

16:48:10.548 [main] ERROR com.intuit.karate - evaluation of 'karate-config.js' failed: javascript function call failed: unexpected feature call arg type: class jdk.nashorn.internal.scripts.JO4
Exception in thread "main" java.lang.NullPointerException
    at com.intuit.karate.core.ScenarioExecutionUnit.init(ScenarioExecutionUnit.java:147)
    at com.intuit.karate.core.ScenarioExecutionUnit.run(ScenarioExecutionUnit.java:236)
    at com.intuit.karate.core.FeatureExecutionUnit.run(FeatureExecutionUnit.java:164)
    at com.intuit.karate.core.FeatureExecutionUnit.run(FeatureExecutionUnit.java:73)
    at com.intuit.karate.core.Engine.executeFeatureSync(Engine.java:109)
    at com.intuit.karate.IdeUtils.exec(IdeUtils.java:64)
    at cucumber.api.cli.Main.main(Main.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Фактически, независимо от того, что я передаю как 2-й аргумент, я всегда получаю вариант ошибки класса jdk.nashorn.

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

М.Р. Питер Томас подтвердил, что проект, который я ему прислал, как проблема github, работает, как и ожидалось, что доказало, что это экологическая проблема. Эта проблема была решена путем обновления maven и jdk8 до последних версий.

0 голосов
/ 19 июня 2019

config} определенно выглядит для меня опечаткой.

Извините, но я думаю, что лучший вариант для вас - следовать этому процессу: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

...