Spacemacs Cider 测试不失败
Spacemacs Cider test does not fail
当我 运行 通过 <SPC> m t t
使用 Clojure 模式在 Spacemacs 中进行测试时,即使测试明显失败,它也不会显示失败。参见:
1不等于2,但仍然有0次测试失败。
如何让测试失败?
您的测试中存在一个问题:它缺少比较运算符。正确的版本是:
(deftest test-exercise-1-4
(testing "count-anywhere"
(is (= 2 1))))
is
宏具有以下定义(为简洁起见编辑了源代码):
(defmacro is
"Generic assertion macro. 'form' is any predicate test.
'msg' is an optional message to attach to the assertion.
Example: (is (= 4 (+ 2 2)) \"Two plus two should be 4\")
([form] `(is ~form nil))
([form msg] `(try-expr ~msg ~form)))
正如您在 (is 2 1)
中看到的那样,您正在调用第二个参数,其中 form
是 2
,断言消息是 1
。由于 2
是真实的,它使断言通过:
(is 2)
;; => 2
(is false)
FAIL in () (boot.user5045373352931487641.clj:1)
expected: false
actual: false
;; => false
当我 运行 通过 <SPC> m t t
使用 Clojure 模式在 Spacemacs 中进行测试时,即使测试明显失败,它也不会显示失败。参见:
1不等于2,但仍然有0次测试失败。
如何让测试失败?
您的测试中存在一个问题:它缺少比较运算符。正确的版本是:
(deftest test-exercise-1-4
(testing "count-anywhere"
(is (= 2 1))))
is
宏具有以下定义(为简洁起见编辑了源代码):
(defmacro is
"Generic assertion macro. 'form' is any predicate test.
'msg' is an optional message to attach to the assertion.
Example: (is (= 4 (+ 2 2)) \"Two plus two should be 4\")
([form] `(is ~form nil))
([form msg] `(try-expr ~msg ~form)))
正如您在 (is 2 1)
中看到的那样,您正在调用第二个参数,其中 form
是 2
,断言消息是 1
。由于 2
是真实的,它使断言通过:
(is 2)
;; => 2
(is false)
FAIL in () (boot.user5045373352931487641.clj:1)
expected: false
actual: false
;; => false