4
에서 단위 테스트의 부작용이 나는 AMPQ 메시지 버스에서 메시지를 끌어 기능이 다른 하나는 로컬 컴퓨터의 디스크 IO에 있습니다.Clojure의
Clojure에서 부작용을 테스트하는 관용적 인 방법이 있습니까? 나의 첫번째 생각은 mock/stubs이었다. 그러나 만일 더 좋은 것이 있으면.
에서 단위 테스트의 부작용이 나는 AMPQ 메시지 버스에서 메시지를 끌어 기능이 다른 하나는 로컬 컴퓨터의 디스크 IO에 있습니다.Clojure의
Clojure에서 부작용을 테스트하는 관용적 인 방법이 있습니까? 나의 첫번째 생각은 mock/stubs이었다. 그러나 만일 더 좋은 것이 있으면.
나는 보통 내가 mq
에서 반환 된 메시지를 테스트하고있어이 경우 with-redefs
(deftest ampq-messaing
"Test messaging"
(let [logit-msg (atom nil)]
(with-redefs [mq/get-message (fn [] "message")
logit (fn [msg]
(reset! logit-msg msg))]
(let [response (your-test-trigger)]
(is (= "message" @logit-msg))))))
를 사용하여 측면 effectish 기능을 조롱의 길을 갈 core.test
사용은 logit
에 사용되는 하나이며, 난 으로 전화를 걸 수있는 내용이 있다고 가정합니다.