f5 で切断された接続に対して成功した Spock テストを作成した人はいますか?
私の f5 ルールでは、状況が満たされた場合 (たとえば、不適切な Cookie の場合)、接続をドロップします。
if { [HTTP::cookie exists "badCookie"] } {
if { not ([HTTP::cookie "badCookie"] matches_regex {^([A-Z0-9_\s]+)$}) } {
drop
}
}
ブラウザでこれを手動でテストすると、ブラウザによっては時間制限が発生しますが、最終的にはタイムアウトになります。しかし、f5 ルールごとに手動でテストするのではなく、自分のテストを Spock の機能テスト ライブラリに組み込みたいと考えています。
Spock、 @Timeout() または @Timeout(value=5) を使用すると、次のようにタイムアウトが際限なく増加します。
[spock.lang.Timeout] Method 'abc' has not yet returned - interrupting. Next try in 0.50 seconds.
[spock.lang.Timeout] Method 'abc' has not yet returned - interrupting. Next try in 1.00 seconds.
[spock.lang.Timeout] Method 'abc' has not yet returned - interrupting. Next try in 2.00 seconds.
[spock.lang.Timeout] Method 'abc' has not yet returned - interrupting. Next try in 4.00 seconds.
[spock.lang.Timeout] Method 'abc' has not yet returned - interrupting. Next try in 8.00 seconds.
[spock.lang.Timeout] Method 'abc' has not yet returned - interrupting. Next try in 16.00 seconds.
http://fbflex.wordpress.com/2010/08/25/geb-and-grails-tips-tricks-and-gotchas/またはhttps://github.com/hexacta/weet/blobでの waitFor メソッド アプローチの使用/master/weet/src/groovy/com/hexacta/weet/pages/AjaxPage.groovyも 5 秒指定を使用してメソッドを閉じません。
これらの各アプローチ (タイムアウト クラス、タイムアウト メソッド、および waitFor) を使用したコードの例は、https: //gist.github.com/ledlogic/b152370b95e971b3992f にあります。
私の質問は、Spock テストを正常に実行して、f5 ルールが接続を切断していることを確認する方法を見つけた人はいますか?