here.テストの完了ここまでで、このチュートリアルで作成したかったブログエンジンを完成させました。プロジェクトそのものはまだ完全には終わっていません。すべてのコードに自信を持つためには、プロジェクトにより多くのテストを追加する必要があります。すべてのモデル層の機能をテストするための単体テストは既に作成しています。この単体テストが、ブログエンジンの主要な機能がよくテストされていることを保証するのは素晴らしいことです。部分だけではありません。インタフェースが期待通り動作することを保証する必要があります。ブログエンジンのコントローラ層をテストすることを意味します。自体もテストしなければなりません。使ってアプリケーションのコントローラ部分を直接テストする方法を提供します。アプリケーションの機能性を完全にテストするからです。パラメータを指定します。リクエストをルーティングして対応するアクションを起動し、値を詰めたレスポンスを返します。このレスポンスを分析し、その内容が期待したものであるかを確認することができます。最初の機能テストを書いてみましょう。テストのように見えます。スーパークラスを使用することに注意してください。ここで、管理領域のセキュリティ機能が期待通りに動作することを確認してみましょう。アプリケーションをテストする方法としては、あまり良いやり方ではありません。直接テストする方がより良いでしょう。サービスの典型的なテストには依然として有用です。アプリケーションのテストに特化したテストツールです。既存のあらゆるブラウザで直接テストスイートを実行することができる点においてクールです。一切使わないので、ユーザが使用するブラウザでテストしていることを確信することができます。ファイルとして記述されます。これを手助けしてくれるのは良いニュースです。縛られなくなるのは、テンプレートを使用することの興味深い副作用です。構文を書くことも可能です。ような、いくつかのテストシナリオ生成ツールのうちのひとつを使ってみるのも面白いかもしれません。テストが含まれています。アプリケーションでは、このテストは問題なく実行できるはずです。含まれていないことを確認します。一方で、複雑なテストなどの場合には、アプリケーションを操作してテストを実行する前に、分かりきったデータセットを設定する必要があります。ファイルを再利用することができます。error')#{/selenium}確認すべきもうひとつの重要なことは、テスト開始時に新しいユーザセッションを使用することです。セッションはブラウザの永続化クッキーに保存され、ふたつの成功するテストを実行している間、同じセッションが保持されるでしょう。error')#{/selenium}これを実行して何も問題が無いことを確認してください。このテストはグリーンになるはずです。これでもっと特別なテストを書くことができます。(単にリンクを新しいウィンドウで開けば、その別のウィンドウでテストを実行することができます)。今度はコメントフォームをテストします。assertTextPresent('Hello')#{/selenium}そして実行してください。ここには深刻な問題があります。キャプチャ機能を本当の意味で正しくテストすることはできないので、ずるをしなければなりません。テストモードではどんなコードでも正しいキャプチャとして妥当性を検証するようにしましょう。'XXXXX')clickAndWait('css=input[type=submit]')...これでテストを再度実行すれば、動作するはずです。コードカバレッジ計測もちろん、アプリケーションに必要なすべてのテストケースを書いたわけではありません。このチュートリアルにはこれで充分です。いうツールに基づいたモジュールが含まれています。このモジュールはテストモードにおいてのみ有効にします。ファイルに以下の行を追加し、テストモードでアプリケーションを再起動してください。再度開き、すべてのテストを選択して実行してください。すべてグリーンになるはずです。コードカバレッジレポートを生成します。開き、このレポートを確認することができます。見ての通り、アプリケーションの全ケースをテストするには程遠い状態です。通常このために、キャプチャについて行ったようなテストモードにおけるハックをしばしば行うことになります。