アプリケーションの検索機能でエラーを検出するように設計された関数があります。これは、非制御 UTF-8 の可能性から可変長の検索文字列を生成します。この関数で pytest 反復を実行すると、ランダムな UTF-8 文字列が検索用に送信され、約 500 回の検索ごとにデバッグ エラーが生成されます。
エラーの原因となった各文字列を取得できるので、実際にエラーを引き起こす文字列の文字の最小のサブシリーズは何かを判断したいと思います。つまり、(pytest ループ内で):
def fumble_towards_ecstasy(string_that_breaks):
# iterate over both length and content of the string
nugget = # minimum series of characters that break the search
return nugget
文字列を半分にスライスして両側を削り、失敗するまで再送信し、その (len() - 1) からランダムな文字を選択してから、エラーが発生しない場合は元に戻す必要がありますか? ブルートフォースコンビナトリアル?これをステップスルーする最良の方法は何ですか?
ありがとう。