【发布时间】:2018-08-16 18:45:42
【问题描述】:
我正在为 clojure 应用程序重构我的测试套件,并试图找出是否有办法保存 let 绑定以供重复使用以最大限度地减少复制代码,因为许多测试需要类似的设置,但会相互干扰并需要他们自己的灵巧。理想情况下,我希望它像这样工作:
(def let-bindings [bind1 val1 bind2 val2 bind3 val3])
(deftest test-1
(testing "my test"
(let (conj let-bindings [bind4 val4])
...)))
(deftest test-2
(testing "my second test"
(let (conj let-bindings [bind5 val5])
...)))
为了进一步说明,我需要在测试中评估 val1 和 val2,而不是在定义 let 绑定时,因为调用会以每次测试后需要重置的方式影响测试数据库。这是否意味着我需要一个宏?
【问题讨论】: