2011-06-22 15 views
1

DOM要素に大きく依存するJSコードがたくさんあります。私が使っているテストソリューションは現在セレンに依存していますが、AFAIKは正しくjsエラーを評価することができません(addScriptエラーがテストに失敗することはありません)。getEvalは実際のウィンドウでjavascriptを実行しません。Dom heavy jsをテストするにはどうすればよいですか?

さまざまなブラウザでdomが必要なJSをテストするための良い方法は何ですか?テストが失敗する原因になりますか?

+0

実際のクライアント側のテストを 'QUnit'で行い、' Browserling'を使ってテストします。 – Raynos

答えて

1

チェックだろう。これは、jQueryとajaxリクエストのテストを簡単にするためのプラグインを含む、多くのプラグインを提供するコミュニティを備えた素晴らしいJavascriptテストフレームワークです。 jasmine-jqueryプラグインを使用すると、別々のHTMLファイルからDOMフィクスチャをロードすることができ、それらのフィクスチャに対してテストを実行することができます。

また、Jasmineは、Webブラウザを起動し、Webブラウザでテストを実行し、どのテストが合格し、失敗したかに関する情報を収集し、報告するために継続的な統合環境で簡単に使用できるという点で優れていますその情報をコンソールに表示します。

1

qUnitは素晴らしいjsテストライブラリです。 http://docs.jquery.com/Qunit

qUnitもJSで書かれているので、JSエラーを捕まえることはできないと思います。

しかし、エラーが発生した場合に失敗する非常に詳細なテストを書くことができます。

+0

興味深い - 多分私はqunitをセレンにつなげることができるように見える – malangi

3

http://www.phantomjs.org/

あなたが「本物」のブラウザで取得したいということは、完全なWebKitのブラウザですので、あなたは完全なDOM/BOMモデルを持っており、使用可能なすべてのイベント。

これは完全な解決策ではありません.GeckoやIEやOperaのブラウザをシミュレートしないためですが、コードを回帰テストすれば、広範なクロスプラットフォームテストを行うよりも、PhantomJSがあなたにぴったりです。探検する

他の解決策が出てJasmineHtmlUnitまたはWatir

関連する問題