我正在使用 clojure.test 并且在某些测试中首先验证某些条件是否成立是有意义的。
一旦deftest
失败,是否有办法中断"is"
?
最小的案例再现我的问题:
REPL> ((deftest example (is false) (is false)))
FAIL in (example) (form-init7701070357449256898.clj:1)
expected: false
actual: false
FAIL in (example) (form-init7701070357449256898.clj:1)
expected: false
actual: false
我想只报告一个"FAIL"
而不是两个。
请注意,我有一些测试,我生成(伪)随机数据,然后我想从循环中多次调用"is"
。如果我这样做,比如说,10 000次,那么我的终端会疯狂打印所有失败或Emacs卡住。
答案 0 :(得分:0)
您可以在命名空间中定义一个名为 test-ns-hook
的函数,使您可以完全控制调用哪些测试以及何时调用。您可以提供按顺序执行测试的功能,并在其中一个测试失败时停止
该函数需要在每个命名空间中声明,而不是包含在use
或require