問題タブ [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 - 仮説検定: 別の戦略からの値を sample_from する方法は?
サンプルデータを使用していくつかの機能をテストする必要があります。
ここで、各行の最初の要素であるリストには、次の方法で生成された N=(1 ~ 5) のランダムな整数要素が含まれます。
各行の 2 番目の要素には、生成されたすべてのリストからのすべての一意の整数のセットからのランダム サンプルが含まれます。
だから私のdata
例のために:
- リストには、一意のセット (10,20,30,40) の値が含まれています。
- 各行の 2 番目の要素には、そのセットからのランダムな整数サンプルが含まれます。
仮説検定フレームワークでそのような戦略を実装するにはどうすればよいですか?
これは機能しません:
python - 仮説を使用して fixed_dictionaries に同じ長さの 2 つのリストを生成する
fixed_dictionaries
キーの 2 つが同じ長さでなければならない値としてリストを持つ戦略を使用して、サンプル データを生成しようとしています。
この制約を強制するにはどうすればよいですか? 一方をもう一方の複合体として定義できるのではないかと思いましたが、それを行う方法がわかりません。何かのようなもの:
python - 仮説+単体テストテストはsqliteデータベースをロックします
データベース クラスをテストしようとしています。これはその簡単な例です。
ということで、方法を確認したいと思いinsert
ます。テスト ケース クラスは次のとおりです。
db.insert
問題は、テスト メソッドから呼び出されたときのトレースバックで「データベースがロックされている」ことです。次のステップとしてコードが表示されます。
- 最初の接続を開く
- データを挿入する
- コミットして接続を閉じる
- 2 番目の接続を開く (最初の接続を閉じた後)
- select を使用してステップ 2 で挿入されたデータを取得する
- データを比較する
- 入力データと選択データが等しくない場合にアサートします。
しかし...接続がデータベースと1つずつ動作する場合、データベースのブロックに関するメッセージを取得する必要はありませんよね? ライブラリ(ユニットテストまたは仮説)がスレッドを使用していると思いましたが、ドキュメントには何も見つかりませんでした。
また、通常どおり実行して、for
列挙可能なデータを挿入しようとしました。それは正常に動作します。
私が間違っていcommit
なければ、接続が開かれていても、メソッドのすべての呼び出しでデータベースのブロックを解除する必要がありますが、そうではないようです。
「データベースがロックされています」というメッセージが表示される理由を理解できる人はいますか?