2016-09-23 38 views
5

隨着截屏視頻和博客開始出現在Clojure 1.9的新clojure.spec功能中,越來越清楚clojure.spec能夠執行很多風險緩解措施,而這些風險緩解措施以前由更「傳統」的自動化測試庫作爲clojure.test,midje,speclj和test.check。clojure.spec打算取代傳統的功能自動化測試的程度如何?

是否意圖clojure.test的功能將基本上在clojure.spec中複製?如果您現在開始在Clojure 1.9+下開發一款新應用程序,那麼您是否會將上面列出的測試庫放在一邊,而僅僅依靠clojure.spec來爲您的應用程序的行爲提供相似程度的信心?

回答

8

是否有意將clojure.test的功能基本上覆制到clojure.spec中?

  • 沒有,clojure.test的功能將不會在clojure.spec
  • 基於實例的測試和生成測試複製是不同的需要不同的工具,雖然有重疊

如果您現在開始在Clojure 1.9+下運行一個新應用程序,您是否會放置上面列出的測試庫,而僅僅依靠clojure.spec來爲您的應用程序提供類似的自信程度行爲?

  • 我將使用(並建議)都基於實例的和生成的測試在大多數項目
  • 不過,我想結合的基於實例的測試時,會有少得多基於實例的測試套件與clojure.spec

爲什麼不是所有clojure.spec? (暗示)

  • 有些事情是很難符合規範
  • 有些事情是很難寫發電機
  • 有例如輸入/文件中的輸出是人誰是剛剛讀碼
  • 不錯
  • 單元測試非常有望在大多數成熟的項目
  • 而更多

的Sli關於主題,但只是提出一個友好的提醒,clojure.spec比減少項目中的單元測試用例的數量更有用。

+0

*'clojure.spec'比減少單元測試用例的數量更有用。請在此擴展 - 我認爲這也是隱含的。 – Thumbnail