Echidnaは、ユーザー定義の不変条件やSolidityのアサーションを破る呼び出しシーケンスを試して、EthereumスマートコントラクトをテストするHaskell製ファザーです。
HypothesisWorks/hypothesis
テスト入力を自動生成し、失敗を最小の例に縮小するPython向けプロパティベーステストライブラリ。
- スター
- 9,138
- フォーク
- 698
- 未解決の Issue
- 53
- 最終コミット
- 3 日前
これは何?
Hypothesisを使うと、指定した範囲内のあらゆる入力で成り立つべきテストを書けます。例を手作業で選ぶ代わりに、データのstrategyを宣言すると、Hypothesisがランダムに入力を選びます。開発者が思いつきにくいエッジケースも対象になります。
テストが失敗すると、Hypothesisは失敗した入力を、バグを再現できる最も単純な例に縮小するため、レポートをデバッグしやすくなります。ライブラリはpipでインストールでき、オプションの追加機能で拡張できます。
主な機能
- 01リストや整数などの宣言的なstrategyからテスト入力を生成します。
- 02失敗した入力を、バグを再現できる最小のケースに縮小します。
- 03pipでインストールでき、オプションの追加機能も利用できます。
ユースケース
- 独自のソート処理やパーサーが、多様な生成入力に対して正しく動作するかをテストする。
- 手書きのユニットテストでは見落としがちなエッジケースのバグを見つける。
- 失敗を最小限の再現可能な例に縮小してデバッグする。
クイックスタート
- 1
pipでHypothesisをインストールします
pip install hypothesis
収録されている特集
トピック
よくある質問
- hypothesis とは?
- テスト入力を自動生成し、失敗を最小の例に縮小するPython向けプロパティベーステストライブラリ。 Hypothesisを使うと、指定した範囲内のあらゆる入力で成り立つべきテストを書けます。例を手作業で選ぶ代わりに、データのstrategyを宣言すると、Hypothesisがランダムに入力を選びます。開発者が思いつきにくいエッジケースも対象になります。
- hypothesis は無料で使えますか?ライセンスは?
- hypothesis は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hypothesis は今もメンテナンスされていますか?
- 活発にメンテナンス中。hypothesis の最終コミットは 2026年11月3日 です。
- hypothesis は何に使えますか?
- 独自のソート処理やパーサーが、多様な生成入力に対して正しく動作するかをテストする。 手書きのユニットテストでは見落としがちなエッジケースのバグを見つける。 失敗を最小限の再現可能な例に縮小してデバッグする。
- hypothesis のインストール方法は?
- pipでHypothesisをインストールします: pip install hypothesis
- hypothesis はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/HypothesisWorks/hypothesis
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
3189+1 今週437HaskellAGPL-3.0更新 23 時間前
テスト計画を先に立て、検証を徹底し、証拠レポートでコードの正しさを示すコーディングエージェント向けスキル。
757+4 今週59PythonMIT更新 昨日
Googleがオープンソースプロジェクト向けに提供する継続的ファジングサービス。libFuzzer、AFL++、Honggfuzzとサニタイザーでセキュリティ上のバグを検出します。
1.3万+98 今週2982ShellApache-2.0更新 22 時間前
Claude CodeとCodexで、AIを活用したセキュリティ監査、テスト、安全な開発を支援するTrail of Bitsのエージェントスキルとプラグインのマーケットプレイス。
8023+148 今週682PythonCC-BY-SA-4.0更新 22 時間前
Claude向けに脆弱性の自動発見と修正を行うパイプラインのリファレンス実装。脅威モデリング、スキャン、トリアージ、パッチ作成に使える対話型のセキュリティスキルも備えています。
7708+31 今週638PythonOther更新 3 か月前
Seleniumは、W3C WebDriver標準を通じてWebブラウザを自動化するためのツールとライブラリをまとめたプロジェクトです。
3.5万+8 今週8726JavaApache-2.0活発にメンテナンス更新 19 時間前