在我的测试中,我使用类似的东西:
;; api.utils
(defn wrap-test-server [f]
(start-test-server)
(f)
(stop-test-server))
;; api.some-endpoint
(use-fixtures
:once
utils/wrap-test-server)
但是,我必须在每个测试模块中复制夹具设置代码。
如何为所有测试设置全局夹具?
或者甚至更好,对于“包”,以便测试api.*
包含在启动/停止夹具中。
请注意,在这种情况下,我不关心包装“级别”。以下都可以工作:
;; Wrap around all the tests in the package:
(start-test-server)
(test-1)
...
(test-n)
(stop-test-server)
;; Wrap every test in the package:
(start-test-server)
(test-1)
(stop-test-server)
...
(start-test-server)
(test-n)
(stop-test-server)