gpt4 book ai didi

java - Karate karate-config.js 不是 js 函数

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:19:42 44 4
gpt4 key购买 nike

我正在尝试使用 Karate 进行端到端测试,并从最小的设置开始。我想在 karate-config.js 中创建一些配置项用于测试,但 Karate 报告该文件不是 js 函数,因此测试无法尝试获取配置:

Warning: Nashorn engine is planned to be removed from a future JDK release
12:16:35.264 [Test worker] WARN com.intuit.karate - not a js function or feature file: read('classpath:karate-config.js') - [type: NULL, value: null]
---------------------------------------------------------
feature: classpath:karate/insurer.feature
scenarios: 1 | passed: 0 | failed: 1 | time: 0.0163
---------------------------------------------------------
HTML report: (paste into browser to view) | Karate version: 0.9.1
file:/Users/srowatt/dev/repos/api/price-service/build/surefire-reports/karate.insurer.html
---------------------------------------------------------


-unknown-:4 - javascript evaluation failed: priceBaseUrl, ReferenceError: "priceBaseUrl" is not defined in <eval> at line number 1
org.opentest4j.AssertionFailedError: -unknown-:4 - javascript evaluation failed: priceBaseUrl, ReferenceError: "priceBaseUrl" is not defined in <eval> at line number 1

这是我的 karate-config.js:

function fn() {

return {
priceBaseUrl: "http://localhost:8080"
};
}

这是我的 insurer.feature 测试:

Feature: which creates insurers

Background:
* url priceBaseUrl
* configure logPrettyRequest = true
* configure logPrettyResponse = true

Scenario: basic roundtrip

# create a new insurer
Given path 'insurers'
And request { name: 'Sammy Insurance', companyCode: '99' }
When method post
Then status 201
And match response == { resourceId: '#number', version: 0, createdBy: 'anonymousUser' }

* def insurerId = response.resourceId

# get insurer by resource id
Given path 'insurers', insurerId
When method get
Then status 200
And match response == { id: '#(id)', name: 'Sammy Insurance', companyCode: '99' }

这是 InsurerTest.java 测试运行程序:

package karate;

import com.intuit.karate.junit5.Karate;

class InsurerTest {

@Karate.Test
public Karate testInsurer() {
return new Karate().feature("classpath:karate/insurer.feature");
}
}

最佳答案

请在 karate-config.js 中使用以下代码

function() {    
return priceBaseUrl='http://localhost:8080';
}

关于java - Karate karate-config.js 不是 js 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54489413/

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