Повторное использование настройки и разрыва с фоном в середине
У меня есть ряд промежуточных фактов, в которых настройки / срывы практически, но не совсем, полностью совпадают.
(against-background [(before :contents (setup!)) (before :contents (data)) (before :facts (set-access)) (after :contents (teardown!)]
(facts "about this thing i am testing "
; ...
))
(against-background [(before :contents (setup!)) (before :contents (data)) (before :facts (set-other-access)) (after :contents (teardown!)]
(facts "about this other thing i am testing "
; ...
))
Я хотел бы обернуть фоны во что-то многократно используемое и предпочтительно параметризуемое, чтобы я мог использовать их повторно, но у меня возникли проблемы при этом. Мидже говорит мне что-либо, кроме вышесказанного, не является ожидаемой формой фона
1 ответ
Решение
Мидже не имеет возможности делать то, что вы просите, встроенный в него. Если вы хотите это, рассмотрите возможность добавления в качестве проблемы здесь: https://github.com/marick/Midje/issues?sort=updated&direction=desc&state=open&page=1
Решением является создание собственного макроса для этого. (Непроверенные)
(defmacro against-my-background [docstring & body]
`(against-background [(before :contents (setup!))
(before :contents (data))
(before :facts (set-access))
(after :contents (teardown!)]
(facts ~docstring
~@body )))
;; usage
(against-my-background "about this thing i am testing"
(fact (foo) => :bar)
(fact (foo) =not=> :baz))