単体テストのJavaScript RIAの例

ユニットテストで大規模なJSアプリケーション(AJAX、さまざまなUIウィジェット、洗練されたアーキテクチャなど)の例を教えてもらえますか?

私はここでセレンのテストについて話しているわけではありません。モックを使用した愚かな単体テスト、まともな結果レポートなどです。


どうして人々が投票に投票したのか、質問を下落させたのか分かりません。たぶんコメントがよかったです。 真剣に、私は単調な時間をかけてモックを構築しているので、単体テストのWebアプリケーションを見つけようと努力してきました。 Seleniumテストと比較して、ウィジェットでの単体テストのメリットについて考えることができました。人々は理論的に単体テストについてたくさんの話をしていますが、実際には誰もJS-RIAでそれをしていません。またはそれらを持っている?

6
私はこの質問に対する答えにも興味があります。 SilverlightクライアントをHTML5テクノロジに移植しています。 javascriptはゆるやかに型付けされているため、静的型付けされた言語(例:silverlight)の場合と同様にエラーを検出するコンパイラがないため、単体テストは非常に重要です。
追加された 著者 GarethOwen,
人々は、 "私たちda khodezを聞いて聞いて! - 私は@ChristopherTokarがGitHubにあなたを指摘したときに正しいと思った。もう一度やり直すか、CodeplexやGoogle Codeを見てください...
追加された 著者 one.beat.consumer,
@ChristopherTokarいいえ、1つではありません。
追加された 著者 user123444555621,
Githubで多数のPivotalプロジェクトを見ると、Jasmineでユニットテストを広範に利用できるようになると確信しています。 github .com/pivotal
追加された 著者 Christopher Tokar,

5 答え

個人的に私はQooxdooが好きで、あなたの自己のためにそれをチェックして、これがあなたが望むものかどうかを見ます

http://qooxdoo.org/demo#real-life_examples

2
追加された

This is one good tool: http://www.uize.com/

1
追加された

You should look at Jasmine & Sinon.js : http://sinonjs.org/

Here is a good tutorial on testing using Backbone.js, Jasmine & Sinon.js : http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html

I also recommend Phantom.js for integration testing... It's a headless browser and much faster than using Selenium... http://www.phantomjs.org/

Btw here is an example of unit-tested app from Pivotal : https://github.com/pivotal/cimonitor. You can find client-side tests there -> cimonitor/public/javascripts/js-common

1
追加された
CIMonitorは有望です。私はそれを調べるのに時間が必要かもしれません。テストの実行方法を知っていますか? Githubプロジェクトに実際のテストランナーが含まれていないように見えます。
追加された 著者 user123444555621,
うん、残念ながら成功なし:(
追加された 著者 user123444555621,
彼らはJsUnitを使用しているようです。ダウンロードして 'suite.html'を起動しようとしましたか?
追加された 著者 Romain Meresse,

ただ一つの視点:

私は、ビデオ分析システムのフロントエンドであるWebアプリケーションを研究しています。 (バックエンドは通常、IPカメラ、DVR、または非常に希薄な組み込みWebサーバを実行するビデオルータです)。これは、jQueryUIウィジェットの数を使用して、ユーザがデバイスを設定し、ビデオ解析ルールを作成し、キャンバス要素を使用するビデオフレーム。私はそれをかなり洗練されたものと考えています。

非常に限定されたコードのサブセットに対して単体テスト(元々はJSUnitのために書かれましたが、今はqunitを使用しています)を使用します。 XMLとのシリアライズ/デシリアライズを含むビジネスオブジェクトの動作を検証するための単体テストがあります。また、キャンバスマークアップのために作成した基本ジオメトリクラスをテストするための単体テストがあります。

しかし、DOMを操作したり、ページ上の要素が正しい状態にあることを検証する単体テストはありません。それを正しく実行することは、解決するのが難しい問題であると私たちに強く打撃を与えました。そのため、Seliniumテストを使用して、与えられた入力セットがDOMを正しい状態にすることを検証します。

0
追加された

この回答が適格かどうかはわかりませんが、私は自分のペットプロジェクト "Atomic OS"(Web開発者向けのOS-メタファー)の次の反復作業に取り組んでいます。

私はベアボーンのAtomic OS v2基盤上に構築され、モバイルWebアプリケーションのための豊富なUIウィジェットを提供する関連プロジェクト(私はまだ分かりません)に取り組んでいます。

I built & use JSDog to produce documentation from a subset of JSDoc syntax and unit test runners with QUnit.

単体テストを行う予定の例については、 Atomic OSのドキュメントを参照してください。 (タスクバーの[ドキュメント]をクリックし、 HxJSFS

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript