Hipotesis adalah rangkaian pustaka pengujian yang memungkinkan Anda menulis pengujian yang diparametrikan berdasarkan sumber contoh. Implementasi Hipotesis kemudian menghasilkan contoh sederhana dan mudah dipahami yang membuat pengujian Anda gagal. Hal ini menyederhanakan penulisan pengujian Anda dan sekaligus membuatnya lebih canggih, dengan membiarkan perangkat lunak mengotomatiskan bagian-bagian yang membosankan dan melakukannya dengan standar yang lebih tinggi daripada yang dilakukan manusia, sehingga membebaskan Anda untuk fokus pada logika pengujian tingkat yang lebih tinggi.
Pengujian semacam ini sering disebut "pengujian berbasis properti", dan penerapan konsep yang paling dikenal luas adalah perpustakaan Haskell QuickCheck, namun Hipotesis berbeda secara signifikan dari QuickCheck dan dirancang agar sesuai secara idiomatis dan mudah dengan gaya pengujian yang ada yang Anda inginkan. sudah terbiasa, tanpa perlu mengenal Haskell atau pemrograman fungsional.
Hipotesis untuk Python adalah implementasi asli, dan satu-satunya yang saat ini sepenuhnya siap produksi dan dipelihara secara aktif.
Ide inti Hipotesis bersifat agnostik bahasa dan pada prinsipnya cocok untuk bahasa apa pun. Kami tertarik untuk mengembangkan dan mendukung implementasi untuk berbagai bahasa, namun saat ini kami kekurangan sumber daya untuk melakukannya, sehingga upaya porting kami sebagian besar berupa prototipe.
Dua implementasi prototipe Hipotesis untuk bahasa lain adalah:
Selain itu terdapat port mesin inti Hipotesis, Dugaan, hingga Rust. Ini bukan fitur yang lengkap tetapi dalam jangka panjang kami berharap untuk memindahkan sebagian besar fungsi yang ada ke Rust dan membangun kembali Hipotesis untuk Python di atasnya, sehingga sangat mengurangi upaya porting ke bahasa lain.
Salah satu atau semua hal ini dapat diubah menjadi implementasi penuh dengan sedikit usaha (tidak lebih dari beberapa bulan kerja penuh waktu), namun seperti halnya pekerjaan awal, hal ini memerlukan seseorang yang siap untuk menyediakan atau mendanai upaya pemeliharaan yang berkelanjutan untuk hal tersebut. agar bisa bertahan.