作为 clojure 的新手,我使用 leiningen 创建了一个示例项目
lein new app first-project
这给了我这个目录
.
├── doc
│ └── intro.md
├── LICENSE
├── project.clj
├── README.md
├── resources
├── src
│ └── first_project
│ └── core.clj
├── target
│ └── repl
│ ├── classes
│ └── stale
│ └── extract-native.dependencies
└── test
└── first_project
└── core_test.clj
无需修改任何文件,我就可以成功启动唯一失败的测试
lein test
...
Ran 1 tests containing 1 assertions.
1 failures, 0 errors.
Tests failed.
但我无法使用运行测试从 REPL 执行相同操作
lein repl
first-project.core=> (use 'clojure.test)
nil
first-project.core=> (run-tests)
Testing first-project.core
Ran 0 tests containing 0 assertions.
0 failures, 0 errors.
{:type :summary, :pass 0, :test 0, :error 0, :fail 0}
我尝试过(但不起作用)
(require 'first-project.core-test)
启动 REPLlein repl
,然后使用require https://clojuredocs.org/clojure.core/require
(require '[clojure.test :refer [run-tests]])
(require 'your-ns.example-test :reload-all)
(run-tests 'your-ns.example-test)
我更喜欢呆在user
命名空间,而不是用in-ns
正如所提到的另一个答案 https://stackoverflow.com/a/21294710/109618。相反,将名称空间作为参数传递给run-tests
(如上图所示)。
我还建议远离(use 'clojure.test)
;这就是为什么我建议(require '[clojure.test :refer [run-tests]])
多于。有关更多背景信息,请阅读http://dev.clojure.org/jira/browse/CLJ-879 http://dev.clojure.org/jira/browse/CLJ-879
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)