問題タブ [python-hypothesis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - タイムアウトによる Python プロパティのテスト
システムをテストするための一定の時間があります。プロパティ テストを 1 時間経過するまで実行する Python プロパティ テストを記述できますか? で解決策を探しましたhypothesis
が、見つかりませんでした。
プロパティ テスト ライブラリにはある種のテスト ケース ジェネレーターがあり、そこからプルしてタイムアウトになるまで実行できると思います。これは許容できる怠惰な解決策です。
python-hypothesis - 仮説で戦略を定義して、類似した再帰オブジェクトのペアを生成する方法
私は仮説に不慣れで、同様の再帰オブジェクトのペアを生成する方法を探しています。
単一のオブジェクトに対する私の戦略は、仮説ドキュメントのこの例に似ています。
再帰オブジェクト A と B のペアを取る関数をテストしたいのですが、この関数の副作用はA==B
.
私の最初のアプローチは、次のような 2 つの独立したオブジェクトを取得するテストを作成することです。
しかし欠点は、この 2 つのオブジェクト間に依存関係があることを仮説が認識していないため、それらが完全に異なる可能性があることです。それは有効なテストであり、私もそれをテストしたいと考えています。
しかし、わずかに異なるだけの複雑な再帰オブジェクトもテストしたいと考えています。
そしておそらく、その仮説は、テストが失敗した非常に異なるオブジェクトのペアを、同じようにテストが失敗したわずかに異なるオブジェクトのペアに縮小できる可能性があります。
python-hypothesis - 仮説にパラメータを追加した再帰的戦略
を使用してrecursive
、単純な AST を生成できます。
ここで、算術演算に加えてブール演算を生成できるように変更したいと思います。私の最初のアイデアは、にパラメータを追加することtrees
です:
わかりました。しかし、どのようにそれらを混ぜるのですか? つまりchildren
、いわば「別のパラメーターで呼び出す」必要がある比較演算子と三項演算子も必要です。
ツリーは適切に型付けされている必要があります: 演算が'||'
orの場合'&&'
、両方の引数がブール値である必要があり、'+'
orの引数'<'
が数値である必要があるなどです。型が 2 つしかない場合は、次のように使用できますfilter
(関数が与えられたtype_of
場合):
しかし、実際にはそれは受け入れられません。
recursive
これをサポートしていますか?それとも別の方法がありますか?trees
もちろん、再帰的に直接定義することもできますが、それは標準的な問題に突き当たります。