更新后的JSON文件在运行时无法读取

团队,我有一项服务是用特定的数据和独特的邮件ID和电话号码以JSON文件格式作为主体(例如:registerbody.json)注册一个用户。在Post call之前,我正在生成唯一的邮件ID,电话号码,并更新同一个json文件(registerbody.json)的字段,该文件位于功能文件所在的同一个文件夹中。我看到该文件在运行时更新了所需的数据。

我使用了read()方法并执行了POST请求。

令人惊讶的是,read方法没有读取更新的JSON文件,而是读取registerbody.json文件中的旧数据。

你对这个问题有什么想法,为什么即使文件已经更新了最新的信息,它还是在读取旧的数据?

请帮助我解决这个问题。

解决方案:

空手道使用的是Java classpath,典型的例子是 target/test-classes. 因此,如果你编辑一个文件,在 src/test/java 除非复制它,否则Karate不会看到它。这种复制是在你构建编译代码时自动完成的。

我的建议是使用 target/ 作为一个临时文件夹,然后你就可以使用该文件夹中的 file: 前缀。

* def payload = read('file:some.json')

在Post call之前,我正在生成唯一的邮件ID,电话号码,并更新同一个json文件(registerbody.json)。

你在这里犯了一个很大的错误,Karate擅长基于变量更新JSON。我建议你花5分钟时间,非常仔细地阅读这部分文档。https:/github.comintuitkarate#reading -files

尤其是关于嵌入式表达式的部分。https:/github.comintuitkarate#embedded-expressions。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

episode

2022-5-12 12:00:16

解决方案

\d+.\d+

2022-5-12 12:00:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索