【发布时间】:2019-04-02 15:40:42
【问题描述】:
我希望能够模拟MyFunction,但是当调用MyFunction 时,我需要模拟返回不同的值。
是否可以使用with-redefs根据函数的调用顺序返回不同的值?
(testing "POST /foo/bar and return ok"
(with-redefs [->Baz (fn [_]
(reify MyProtocol (MyFunction [_] [{:something 1}]))
(reify MyProtocol (MyFunction [_] [{:something 2}])))]
(let [response (routes/foo {:request-method :post
:uri "/foo/bar"
:query-params {}
})]
(is (= (:status response) 200)))))
【问题讨论】:
标签: unit-testing clojure mocking compojure