1

アプリケーションテストに取り組んでいますが、問題が見つかりました。私のアプリ。セキュリティコントローラ内に認証(電子メール、パスワード)アクションがあり、ログインページから呼び出されると、有効な電子メールと無効なパスワードを使用して、フラッシュスコープにあるエラーメッセージとともにログインページに戻ります。

アプリ。テストコードは次のとおりです。

Response response = 
    GET("/security/authenticate?email=validUser&password=invalid", true);
String pattern = "invalid password";
assertContentMatch(pattern, response);

このコードが実行されると、次の例外がスローされます。

A java.lang.RuntimeException has been caught,
java.net.MalformedURLException: no protocol: /login

いくつかの調査を行い、それを発見しました:

  • 無効なURLを使用してリダイレクトできるようにするために、新しいURLオブジェクトの作成が試行されると例外がスローされます。この場合、プロトコルは存在しません
  • アプリを見てください。サンプルアプリでテストします。GETはリダイレクトなしで使用されます。つまり、GET後は、httpコードのみが検証され、リダイレクトを追跡する試みは行われません。

誰かがこれと同じ問題を抱えていましたか?情報を探したり、2セントを追加したりするための未解決のバグはありますか?

4

1 に答える 1

1

ここでは、問題の説明と、問題を回避するためのコードスニペットを見つけることができます。

https://play.lighthouseapp.com/projects/57987/tickets/1553-functionaltestget-with-redirect-crashes

于 2012-08-17T14:48:22.847 に答える