如果不调用test-service/process,我在下面编写的测试不会失败。它也不检查URL和参数是否正确。
(deftest main-func-test
(let [event {:a 123}]
(with-redefs
[test-service/process (fn [url params] response)]
(is (= :success (main/main-func event)))))在ruby中很简单
expect(test_service).to receive(:process).with(url, params).and_return(response)如何检查在Clojure中是否至少调用了一次带有URL和params两个参数的test-service/process?
发布于 2019-09-08 16:37:53
您可以在模拟函数中捕获参数:
(deftest main-func-test
(let [event {:a 123}
args (atom nil)]
(with-redefs
[test-service/process (fn [url params]
(reset! args [url params])
response)]
(is (= :success (main/main-func event)))
(is (= [expected-url expected-params] @args)))https://stackoverflow.com/questions/57839851
复制相似问题