emacs - 如何运行在苹果酒中定义的 attr 映射中定义的测试?
问题描述
在 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
,因为无论您添加什么,都必须有一个“顶级表单”(doc)。
我错过了什么,还是根本不支持?
解决方案
如果你想调用cider-test-run-test
这样的 defn,只需添加defn
到cider-test-defining-forms
.
cider-test-run-ns-tests
您还可以通过使用前缀参数在 CIDER 中运行在当前命名空间中定义的所有测试(包括您在此处完成的方式定义的测试) 。在当前稳定的 CIDER 中,这意味着您可以输入C-u C-c C-t n
或C-u C-c , n
. 前缀参数 (Cu) 是防止 CIDER 尝试在典型的“${current.namespace}-test”命名空间中查找测试所必需的。
推荐阅读
- php - PHP电子邮件脚本发送带有附件的电子邮件而不发送视频文件
- python - 在 Pandas 中有效地切片和连接数据帧
- python-3.x - tensorflow 2指南使用文件集会导致切片索引超出范围
- javascript - 如何传递特定列表项 onClick 的引用以在另一个组件中使用?
- c - 如何解决我在代码中遇到的 valgrind 问题?
- python - 什么是 DeprecationDict()?
- scala - 将 DataFrame 字符串列转换为时间戳
- angular - 如何以角度发送Zip文件
- c# - 如何在两台分离的计算机之间通过套接字传递数据
- sql-server - 每个零件号和零件号的销售总和在另一个表中有其替代零件号