请分享您的想法,填写2024 年 Clojure 调查问卷!

欢迎!请查看关于页面获取有关本站的更多信息。

0
IO

“空”关键词不是很有用,但显然是有效的,例如:

({(keyword "") 1} (keyword ""))

但打印和读取它结果为 *非法标记:

(read-string (pr-str{(keyword "") 1}))

在我的情况下,这种情况出现在 Azure Rest API 调用的响应中。我的测试在使用真实 API 时将返回的数据存储为 mock-data,以便在模拟 API 时用作回归测试 - 并且由于这个原因,使用模拟 API 的测试失败。
除了在 pr-str 之前显式删除之外,还有其他办法吗?

2 个答案

+2
这是我一直在找的链接!谢谢。
0

为什么不使用字符串作为键,而非键词过于约束?

或许您的Azure客户端通过加载数据将JSON关键词化。这增加了一些对您无用的额外工作量。或许您可以去掉这个功能。

我真的不想改我的应用程序代码。解决方案是手动移除不可读的关键词,然后再将它们存储在测试代码中。
...