hypothesis
version 6.122.3
Hypothesis 是一系列測試程式庫,可讓您編寫由範例來源參數化的測試。然後,假設實作會產生簡單且易於理解的範例,這些範例會使您的測試失敗。透過讓軟體自動執行無聊的部分並按照比人類更高的標準進行測試,這可以簡化測試的編寫,同時使測試變得更加強大,從而使您能夠專注於更高級別的測試邏輯。
這種測試通常稱為“基於屬性的測試”,該概念最廣為人知的實現是 Haskell 庫 QuickCheck,但假設與 QuickCheck 顯著不同,並且旨在慣用且輕鬆地適應您所使用的現有測試風格。習慣了,但完全不熟悉Haskell 或函數式程式設計。
Python 的假設是最初的實現,也是目前唯一完全準備好投入生產並積極維護的實現。
Hypothesis 的核心思想是與語言無關的,原則上它適用於任何語言。我們有興趣開發和支援多種語言的實現,但目前缺乏這樣做的資源,因此我們的移植工作主要是原型。
其他語言的 Hypothesis 的兩個原型實作是:
此外,還有一個將假設、猜測的核心引擎移植到 Rust 的版本。它的功能並不完整,但從長遠來看,我們希望將大部分現有功能轉移到 Rust 並在其之上重建 Python 的假設,從而大大減少向其他語言的移植工作。
任何或所有這些都可以透過相對較少的努力(不超過幾個月的全職工作)轉變為成熟的實施,但是除了初始工作之外,這還需要有人準備為他們提供或資助持續的維護工作為了能夠生存。