空手道-请求多线程访问-问题 [英] Karate - Multi threaded access requested - issue

查看:12
本文介绍了空手道-请求多线程访问-问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有包含在25个以上功能文件中的100多个测试,并且我有空手道-config.js,它有3个功能,如下所示。

config.weatherParams = karate.callSingle(
    "file:src/test/java/utils/AvailableForecasts.feature",
    config
  );
  config.routingParams = karate.callSingle(
    "file:src/test/java/utils/CalculationInput.feature",
    config
  );

  config.vesselParams = karate.callSingle(
    "file:src/test/java/utils/VesselStatus.feature",
    config
  );

在allSingle中使用类路径时出现同样的问题。

当我在启用并行(随机尝试1-100个线程)的情况下同时运行所有测试时,我得到以下错误:

org.graalvm.polyglot.PolyglotException: Multi threaded access requested by thread Thread[pool-2-thread-8,5,main] but is not allowed for language(s) js.
- com.oracle.truffle.polyglot.PolyglotEngineException.illegalState(PolyglotEngineException.java:132)
- com.oracle.truffle.polyglot.PolyglotContextImpl.throwDeniedThreadAccess(PolyglotContextImpl.java:727)
- com.oracle.truffle.polyglot.PolyglotContextImpl.checkAllThreadAccesses(PolyglotContextImpl.java:627)
- com.oracle.truffle.polyglot.PolyglotContextImpl.enterThreadChanged(PolyglotContextImpl.java:526)
- com.oracle.truffle.polyglot.PolyglotEngineImpl.enter(PolyglotEngineImpl.java:1857)
- com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:104)
- com.oracle.truffle.polyglot.PolyglotMap.entrySet(PolyglotMap.java:119)

尝试多个组合后-令人惊讶的是,当我在karate.config(注释VesselStatus.Feature)中只有两个";allSingle";函数时,它工作得很好。

所有这3个调用器调用3个不同的服务并设置其他测试运行的变量,因此这3个非常重要。

有没有办法,我们可以重新优化/引入不同的方法来避免上述问题?

推荐答案

这是一个已知问题,应在1.1.0.RC2

中修复

详细信息在此处:https://github.com/intuit/karate/issues/1558

如果您能确认,那就更好了。

这篇关于空手道-请求多线程访问-问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆