请在 2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!有关如何使用该网站的一些更多信息,请参阅 关于 页面。

0 投票
ClojureScript
编辑

您好,

在尝试将一些 Clojure 代码移植到 Clojurescript 的过程中,我在尝试使用 `cljs.spec.test.alpha/check` 检查函数规范符号列表时遇到了测试套件中的问题。

以下是一个复现问题的小场景

`
(ns spec.check.problem
(:require
[clojure.spec.alpha :as s]
[clojure.spec.gen.alpha :as gen]
[clojure.spec.test.alpha :as stest]
[clojure.test.check]
[clojure.test.check.properties]))

(defn foo
[x]
(inc x))

(s/fdef foo
:args (s/cat :x int?)
:ret int?)

(def list-of-specs
`[foo])

(stest/check `[foo]) ; => OK

(stest/check list-of-specs) ; => 无法在当前上下文中解析符号:list-of-specs
`

上面的示例在 Clojure 中是有效的,但在 Clojurescript 中并不有效。这是预期的行为还是这是一个错误?

我已经使用了 Clojure 1.10.1 和 Clojurescript 1.10.758 进行测试。

1 个答案

+1 投票
头像

在CLJS检查是一个宏,因此不幸地要少一些灵活性。

不是错误。

...