由:alexmiller发表的评论
这已在clojure.test命名空间的文档字符串中被详细解释了
`
函数组件以一种或另一种方式附加到命名空间中。"each"
类型的函数组件会在每个测试函数上反复运行
由deftest或with-test创建,"each"类型的函数组件对于
为每个测试建立一致的"前后"状态很有用,例如
清除数据库表。
"each"类型的函数组件可以按如下方式附加到当前命名空间
(use-fixtures :each fixture1 fixture2 ...)
function1, function2就像上面的示例一样。
它们也可以是匿名函数,例如
(use-fixtures :each (fn [f] setup... (f) cleanup...))
另一种类型的组件,"once"类型的组件,只运行一次,
封装当前命名空间中所有的测试。
"once"类型的组件对于需要只执行一次的任务很有用,例如
建立数据库连接或对于耗时的任务。
按如下方式将"once"类型的组件附加到当前命名空间
(use-fixtures :once fixture1 fixture2 ...)
`
我没有真正回答你的问题,只是想知道你是否已经看过这一点,这会不会改变你的问题。