Play! でテストを実行できない

Play frameworkでテストを行う方法は、チュートリアルでは http://localhost/@tests から実行することになっていますが、Seleniumのテスト以外はJUnitなのでIDEからでも実行可能です。

で、たいていはJUnitを利用してテストをしているわけですが、チュートリアルの最後でSeleniumでのテストがあるわけです。いろいろとチュートリアルを進めつつ、実行するのですがなぜかうまくいかないという状況に陥りました。

画面でテストを確認する場合、通常と異なるのは実行するコマンドが

[sourcecode language="java"] // コマンドはtest用のコマンドを利用する。 // play run play test [/sourcecode]

となることと、URLが http://localhost/@tests となることです。

実際に実行すると通常は下記の通りになります。

test_not_exec2

ところが、今回何をやってもエラーになってしまいうまく表示されなくなってしまいました。

test_not_exec

あれやこれやと海外のサイトなどを確認したのですが、あまり有益な情報はありませんでした。あったのは、コマンドをちゃんと実行しているかとか、ポート番号は正しいか、などなど。

困ったときは初心に返ると言うことでHello Worldプロジェクトで同様のことを試して見るもやはり表示できない…。ところが、表示できない内容に変化がありません。なぜかHello Worldプロジェクトにadminコントローラーなど存在しています…。

ひょっとして!?と思い確認したところ、デバッグ用に起動していたプロジェクトが動作中…。そりゃ何やってもうまくいかないわけですね。

ということで、テストが表示できないときは起動しているアプリケーションがないか確認するということが重要でございます。

それにしても、どうしてすでにポートを利用しているのに新しいアプリケーションが同一ポートで起動するのでしょうね。この辺も理由を探ってみたい…。