Установка и разборка временного каталога для факта midje

Это скелет того, чего я хочу достичь

(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, Есть идеи, как заставить это работать?

1 ответ

Вам не хватает квадратных скобок вокруг вашей обертки. Из ссылки, которую вы включили:

Ноль или более оболочек можно найти в трех разных формах:

(на фоне [обертки] ...)

Обертки применяются ко всем формам на фоне.

(факт... (обертки на фоне) ...)

Семантически, это то же самое, что и фон, который оборачивает этот единственный факт. Форма на заднем плане может появляться где угодно в формах верхнего уровня факта, и их может быть несколько. Обратите внимание, что он не окружен [].

(фоновые обёртки...)

Другие вопросы по тегам