如何运行测试定义在苹果酒中defn的attr映射?
How to run tests defined in attr map of defn in cider?
在 Spacemacs 中使用 Cider,我似乎无法找到一种方法来 运行 测试定义在 defn 的属性映射中。以这个函数定义为例:
(defn contains-duplicates-a?
"checks if a vector of strings contain duplicates"
{:test #(do
(is (contains-duplicates-a? ["aa" "aa"]))
(is (not (contains-duplicates-a? ["aa" "aaa"])))
(is (not(contains-duplicates-a? ["ba" "ab"])))
(is (not (contains-duplicates-a? ["abcde" "xyz" "ecdab"]))))}
[word-vector]
(not(=
(count word-vector)
(count (distinct word-vector)))))
这种编写单元测试的风格在我公司相当普遍,我们最常见的 IDE 设置(IntelliJ + Cursive)支持它。我们喜欢让单元测试接近代码。
我不确定它是否可以通过使用 cider-test-defining-forms
来实现,因为无论您添加什么,都必须有一个 'top level form' (doc).
我是不是遗漏了什么,或者它根本不受支持?
如果您想在这样的定义上调用 cider-test-run-test
,只需将 defn
添加到 cider-test-defining-forms
。
您还可以 运行 在 CIDER 中通过 运行ning cider-test-run-ns-tests
在当前命名空间中定义的所有测试(包括您在此处完成的方式定义的测试)前缀参数。在当前稳定的 CIDER 中,这意味着您可以键入 C-u C-c C-t n
或 C-u C-c , n
。前缀参数 (C-u) 是必要的,以防止 CIDER 尝试在典型的“${current.namespace}-test”命名空间中找到测试。
在 Spacemacs 中使用 Cider,我似乎无法找到一种方法来 运行 测试定义在 defn 的属性映射中。以这个函数定义为例:
(defn contains-duplicates-a?
"checks if a vector of strings contain duplicates"
{:test #(do
(is (contains-duplicates-a? ["aa" "aa"]))
(is (not (contains-duplicates-a? ["aa" "aaa"])))
(is (not(contains-duplicates-a? ["ba" "ab"])))
(is (not (contains-duplicates-a? ["abcde" "xyz" "ecdab"]))))}
[word-vector]
(not(=
(count word-vector)
(count (distinct word-vector)))))
这种编写单元测试的风格在我公司相当普遍,我们最常见的 IDE 设置(IntelliJ + Cursive)支持它。我们喜欢让单元测试接近代码。
我不确定它是否可以通过使用 cider-test-defining-forms
来实现,因为无论您添加什么,都必须有一个 'top level form' (doc).
我是不是遗漏了什么,或者它根本不受支持?
如果您想在这样的定义上调用 cider-test-run-test
,只需将 defn
添加到 cider-test-defining-forms
。
您还可以 运行 在 CIDER 中通过 运行ning cider-test-run-ns-tests
在当前命名空间中定义的所有测试(包括您在此处完成的方式定义的测试)前缀参数。在当前稳定的 CIDER 中,这意味着您可以键入 C-u C-c C-t n
或 C-u C-c , n
。前缀参数 (C-u) 是必要的,以防止 CIDER 尝试在典型的“${current.namespace}-test”命名空间中找到测试。