【发布时间】:2015-04-08 14:52:51
【问题描述】:
在我的工作中,我需要测试新的 api 服务。它的发展速度非常快,请求体庞大。
为了自动化 xml api 测试,当您设置相对路径和更改找到的元素的值时,我发现了非常合适的方法。只需使用允许此类方法的 xpath 即可完成。
但如果是 json,我只是库存。名为jsonpath 的主要 npm 模块仅返回元素,但不允许像 xpath 那样获取某些参数并更改其值。
在这种情况下,我的问题是我想编写漂亮的测试,如果我将使用绝对路径编写它们,那么长字符串它们可能会非常难看,并且在比较中也会有更多的打字工作较短的相对路径。
那么如何解决这个问题来实现这个目标呢?
使用 json 路径的 npm 模块列表
-
json patch: 想要绝对路径,并且据我所知还有丑陋的方式来改变 jsons。 -
json path:仅从搜索结果中返回单独的值。 -
json-path-processor:有set方法,但也想要绝对路径。
更新
对不起,问题不在于文件路径,而在于使用内部元素的路径更改 json 对象内部的值。
我想在 json 中为 d 元素设置值 2
{ a: { b: { c: [{ d: 1 }] } } }
使用$..c[0].d 之类的路径代替路径$.a.b.c[0].d
【问题讨论】:
-
require('path').resolve('../..') -
@Plato 谢谢你,Plato,我可以用它改变 json 对象中的值吗?