2

这是我想要实现的框架

(let [temp-dir (create-temp-dir)]          ; setup
  (fact
    (do-something-with temp-dir) => true)  ; actual test
  (delete-dir temp-dir))                   ; teardown

midje 测试框架允许访问词法范围(向下滚动到最后)。所以这就是我期望的工作:

(against-background
  (around :facts
    (let [temp-dir (create-temp-dir)]
      (do ?form (delete-dir temp-dir))))
  (fact (do-something-with temp-dir) => true))

但是编译器抱怨它无法解析符号temp-dir。知道如何进行这项工作吗?

4

1 回答 1

1

您缺少包装器周围的方括号。从您包含的链接中:

零个或多个包装器可以以三种不同的形式找到:

(反对背景[包装] ...)

包装器适用于背景中的所有表单。

(事实......(反对背景包装)......)

从语义上讲,这与包装这个单一事实的背景相同。反背景表单可以出现在事实的顶级表单中的任何位置,并且可以有多个。请注意,它没有被 [] 包围。

(背景包装......)

于 2012-12-08T16:17:39.543 回答