В моем коде есть следующая идиома:
(deftest my-test
(run-test-sync
(is (= 1 2)) ;; etc.
)
И кажется хорошей идеей создать макрос, который бы повторял это так:
(deftest-sync my-test
(is (= 1 2))
)
И я пробовал это:
(defmacro deftest-sync [name test]
`(deftest ~name ~(run-test-sync ~test))
)
Но при выполнении:
(macroexpand '(deftest-sync some-test (is (= 1 1))))
Я просто получаю результат:
(deftest-sync some-test (is (= 1 1)))
Что я делаю не так?
- РЕДАКТИРОВАТЬ - Моя вторая попытка заключается в следующем:
(defmacro deftest-sync [name & test]
`(deftest ~name (run-test-sync ~@test))
)
Но расширение макроса все равно:
(deftest-sync some-test (is (= 1 1)))
Что я делаю не так?