Repolode
HypothesisWorks

HypothesisWorks/hypothesis

テスト入力を自動生成し、失敗を最小の例に縮小するPython向けプロパティベーステストライブラリ。

スター
9,138
フォーク
698
未解決の Issue
53
最終コミット
3 日前

これは何?

Hypothesisを使うと、指定した範囲内のあらゆる入力で成り立つべきテストを書けます。例を手作業で選ぶ代わりに、データのstrategyを宣言すると、Hypothesisがランダムに入力を選びます。開発者が思いつきにくいエッジケースも対象になります。

テストが失敗すると、Hypothesisは失敗した入力を、バグを再現できる最も単純な例に縮小するため、レポートをデバッグしやすくなります。ライブラリはpipでインストールでき、オプションの追加機能で拡張できます。

主な機能

  • 01リストや整数などの宣言的なstrategyからテスト入力を生成します。
  • 02失敗した入力を、バグを再現できる最小のケースに縮小します。
  • 03pipでインストールでき、オプションの追加機能も利用できます。

ユースケース

  • 独自のソート処理やパーサーが、多様な生成入力に対して正しく動作するかをテストする。
  • 手書きのユニットテストでは見落としがちなエッジケースのバグを見つける。
  • 失敗を最小限の再現可能な例に縮小してデバッグする。

クイックスタート

  1. 1

    pipでHypothesisをインストールします

    pip install hypothesis

収録されている特集

トピック

#testing#property-based-testing#fuzzing#python

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト

Googleがオープンソースプロジェクト向けに提供する継続的ファジングサービス。libFuzzer、AFL++、Honggfuzzとサニタイザーでセキュリティ上のバグを検出します。

セキュリティ#fuzz-testing#security#vulnerability-detection
1.3万+98 今週2982ShellApache-2.0更新 22 時間前