2024 Clojure 现状调查!中分享您的想法。

欢迎!请参阅关于页面以获取更多关于该页 Casual 的信息。

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 中,检查是一个宏,因此不幸的是功能不太灵活。

这不是一个错误。

...