karate - 空手道变量值是否随参考而改变?
问题描述
在下面的代码中,您可以看到变量 defaultHeaders 被复制到一个名为 myHeaders 的新变量中。现在,当更改 myHeaders 的值时,正在更改 defaultHeaders 变量的值。
这个对吗?我是否缺少一些基本的东西。请解释。
我希望原始的 defaultHeaders 在其他场景中使用时保持不变。
空手道版本:0.9.4
Feature: test one
Background:
* def defaultHeaders = { 'app-Id' : "defaultApp" }
@ScenarioOne
Scenario: scenario one
* def myHeaders = defaultHeaders
* print myHeaders \\ prints { "app-Id": "defaultApp" }
* myHeaders["app-Id"] = 'MyNewAppId'
* print myHeaders \\ prints { "app-Id": "MyNewAppId" }
* print defaultHeaders \\ prints { "app-Id": "MyNewAppId" }
* print myHeaders \\ prints { "app-Id": "MyNewAppId" }
* def calltoSecond = call read('featureTwo.feature@ScenarioTwo') { customHeader: '#(myHeaders)'}
解决方案
请看copy
关键字:https ://github.com/intuit/karate#type-copy
* copy myHeaders = defaultHeaders
推荐阅读
- android - 如何定义一大组 imageViews?
- javascript - 响应 axios 请求。setState 无法读取响应对象
- node.js - 在节点中打开由 pdfkit 创建的 pdf 文件时出错
- python - Python输入停止计时器
- python - Python KIVY:如何在不单击鼠标的情况下选择 TextInput?
- javascript - 在 Vite 的 Javascript 和 HTML 中用破折号“-”替换空格
- javascript - Element.outerHTML 停止 div 为 100% 宽
- netflix-zuul - 在zuul中为同一路径设置多条路由
- android - 嵌套片段按顺序弹出
- php - PHP:如何对 html 编码的数据进行 html 编码?