私は、Webフォームを介して(html5ベースの)ファイルアップロードを行うhtmlページ(ajax対応)を提供するnode.jsデーモンに取り組んでいます。デーモンは、に関連するすべてのPUT、POST、OPTIONS、およびGETリクエストも処理します。ファイルのアップロードとステータスのクエリ(これは必ずしもサービスを提供するWebページからのものではなく、どのクライアントもhttp経由で対話できます)
サーバー自体(node.jsであるという事実など)をブラックボックスとして扱うことで、プログラムでたくさんのことをテストしたいと思います。
次のような入力で:
- json構成ファイルに存在しない、空の、またはさまざまなタイプの(誤った)構成値
- 異なるコマンドライン引数を使用してプログラムを実行する
- Webページとの対話(Webページに移動し、ボタンをクリックし、ファイル選択ダイアログから特定のファイルを選択し、[OK]をクリックするなど。これにより、バックグラウンドで多くのhttpリクエストが発生します)
- 「生の」httpリクエストをプログラムで実行する
次に、物事が想定どおりに動作することを確認します。
- ログファイル内のエントリの検索
- $ num個のプロセスが(まだ)実行されているかどうかを確認する
- すべてのリクエストのhttp応答コードをチェックします。(バックグラウンドのすべてのajaxy-one、またはテストで定義された単一の要求への応答を含む)
- 任意のコマンド(Webサーバーからファイルをダウンロードしてmd5summingなど)
私はいくつかのオプションを見てきました:
- キュウリはこの種のトピックでよく出てきますが、それは非常に冗長で、ビジネスマンを対象としているようです。
- httpunitは、システムが1つの特定の構成で実行されていることを前提としているようです
- rspecはホワイトボックステスト用のルビーのようです
- 誓いは基本的すぎ、ブラウザの自動化はありません
誰かアドバイスがあれば、私はそれをいただければ幸いです、
ありがとうディーター