首页 > 解决方案 > karate-config.js 中的 callSingle() 用法

问题描述

我在 karate-config.js 文件中使用callSingle(),但在被调用的实际功能中,我无法读取在常规功能中正常工作的“ env ”和“ baseURL ”。我怎样才能让它工作?这是我的 karate-config.js 和功能。

var env = karate.env;
    if (!env) {
        env = 'DEV';
    }    
     if(env === 'DEV') {
                 baseURL = 'http://dev.companyname.com';
                 cleardata = karate.callSingle('classpath:com/cleardata.feature');
             }
     else if(env === 'QA') {
                 baseURL = 'http://qa.companyname.com';
                 cleardata = karate.callSingle('classpath:com/cleardata.feature');
             }


Scenario Outline: 
 Given url baseURL
 When path "/some/path/"+id
 Then method Get
 Then status 200
 And def id = response.id

 Examples:
 |read('classpath:com/'+ env + '_testdata.csv')|

我收到此错误:错误 com.intuit.karate - 'karate-config.js' 评估失败:javascript 函数调用失败:com.intuit.karate.exception.KarateException: [1.1:12] cleardata.feature:16 - url 未设置,请参考 'url' 的关键字文档

但是如果我像这样更新我的功能,它可以正常工作:

Scenario Outline: 
     Given url 'http://dev.companyname.com'
     When path "/some/path/"+id
     Then method Get
     Then status 200
     And def id = response.id
    
     Examples:
     |read('classpath:com/dev_testdata.csv')|

谢谢你

标签: karate

解决方案


推荐阅读