gpt4 book ai didi

karate - 获取 `org.graalvm.polyglot.PolyglotException: ReferenceError:` - 从 Karate 0.9.5 升级到 Karate 1.1.0.RC3 后

转载 作者:行者123 更新时间:2023-12-04 17:17:41 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





karate.callSingle not found .feature file in karate-config.js

(2 个回答)


6 个月前关闭。




描述:升级到 Karate 1.1.0.RC3 后获取引用错误信息
脚步:
执行 test.feature 文件
测试功能

  Scenario: Get custom request
* def testUtils = call read('classpath:features/utils.feature')
* def getRequest = testUtils.customRequest()
* print getRequest
实用程序功能
Feature: common utilities

Scenario:
* def randomAlphabetic = function (count) { return org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(count) }

* def customRequest =
"""
function() {
var name = randomAlphabetic(2)
return {
name:name,
city:'Bangalore'
}
}
"""
错误信息 :
org.graalvm.polyglot.PolyglotException: ReferenceError: "randomAlphabetic" is not defined
- <js>.:anonymous(Unnamed:2)
供引用的 Git 存储库 - https://github.com/naveenkrao/karate-sample-project

最佳答案

在新版本中重用 JS 函数有一些限制。有多种变通方法。这是下面的一个,在 JS 块本身中移动可重用的功能:

* def customRequest =
"""
function() {
var randomAlphabetic = function (count) { return java.lang.System.currentTimeMillis() + '' };
var name = randomAlphabetic(2);
return {
name:name,
city:'Bangalore'
}
}
"""
或者,如果您制作 randomAlphabetic功能全局可用,例如来自 karate-config.js它也可以工作。
这是我们努力解决的 JS 引擎更改的结果。如果这对您来说是个问题,我们非常欢迎您贡献代码。我们认为不是,有很多方法可以创建可重用的函数,遵循一些规则——保持简单,更喜欢 Java 来处理复杂的逻辑,不要过多地混合或组合 JS 或 Java。
如果您觉得需要更新,也欢迎您贡献文档。

关于karate - 获取 `org.graalvm.polyglot.PolyglotException: ReferenceError:` - 从 Karate 0.9.5 升级到 Karate 1.1.0.RC3 后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68189314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com