Python doctests將簡單測試與源代碼相關聯(在Python中,它們位於函數文檔中)。 More info and examples here。Clojure等價於Python doctest?
Clojure有沒有類似的東西?我知道與clojure.test
單元測試,但尋找與源更緊密集成的東西(通常單元測試是在不同的文件;這裏我想要在defn
裏面進行測試)。
搜索我發現this,但它似乎非常un-lispy(測試是在實際的文本,如Python - 肯定是一個宏,擴展defn
將是可取的?)。
或者還有一些解決一般問題的方法,那就是我有一些測試(通常是簡單的事情來演示函數的基本屬性),這些測試會更好地包含在文檔中(我正在使用marginalia)比在單獨的單元測試文件中。
更新下面是一個示例:我有一個函數可以計算從像素矩形到圖像中心的曼哈頓距離(以像素爲單位)。這聽起來很簡單,但是由於諸如「中心」的意思不同而導致圖像的邊緣像素數量爲奇數或偶數,或者您測量的塊的哪一部分會變得複雜。所以我不得不寫一些測試,以便直接獲得代碼。現在我看看文檔,如果文檔包含這些測試,最好是因爲它們解釋比文字更好的功能...
看起來很完美!不知道存在。但你如何運行它? lein測試稱它嗎? –
使用測試函數:(測試#'mymax),doc:http://clojuredocs.org/clojure_core/clojure.core/test –