問題タブ [qunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - QUnit テストで「グローバル変数 _firebug を導入」
QUnit を使用して、Web サイトでさまざまな簡単なテストを実行しています。テストの 1 つは、ダイアログを作成し、表示してから閉じることです。テストは正常に実行されますが、Firebug が有効になっている Firefox で実行するとエラーが発生します。
私はそれで暮らすことができますが、面倒です.Chromeの同じコードは問題なく動作します. jQuery UI がなくても同じエラーが表示されるため、jQuery UI を原因として除外しました。ただし、Firebugまたはconsole.log トレースなしで実行しても問題は発生しません。
私が使用しているすべての JavaScript コードを grep しましたが、「firebug」変数についての言及は見つかりませんでした。そしてGoogleはこの件について沈黙を守った。グリーン スクリーン (すべてのテストに合格) を元に戻したい! 何か案は?
javascript - Qunit を使用して返された関数をテストする
私は現在、単体テストと QUnit の使用方法を学んでおり、これを行う最善の方法は、私が作成した小さな jQuery プラグインを使用することだと考えました。
プラグイン内で、次のようにイージング プラグインの方程式を使用してイージング オブジェクトを拡張しました。
今、私は QUnit テスト内でこれを使用しようとしています:
そしてそれは失敗します...何かが足りないのでしょうか、それともスティックのどこかで間違った端を持っていますか?
linux - ジェンキンス + qUnit
JenkinsをqUnitと簡単に統合するには? 実際のブラウザ (Firefox や Chrome など) を使用してテストを実行します。私のサーバーは RedHat 6.1 Linux で稼働しています。必要なプラグイン/ライブラリはすべて揃っていると思いますが、それを機能させる方法がまだわかりません。私はJenkinsを初めて(サーバー側で)使用しています。
//編集:
誰かがカバレッジレポートを作成する方法についてもアイデアを共有できれば素晴らしいと思います.
前もって感謝します :)。
javascript - QUnitを使用してdocument.write()を使用するユーティリティ関数をテストする:ドキュメントオブジェクトを他のドキュメントにしますか?
document.write()
JavaScriptとCSSをロードするタグを挿入して、DOMを変更するために 使用する2つのユーティリティ関数があります。
QUnitを使用して、テスト結果ページの実際のDOMに影響を与えることなく、インジェクションが正しく行われていることをテストすることは可能ですか?
私は出来ます:
私が定義する関数になるように
document.write()
、おそらくで上書きしsetup
てリセットします。teardown
しかし、彼らは私が彼らがすることになっていることをするための呼び出しをテストしてdocument.write()
いません。js-test-driverのようなものを使用して、コマンドラインからJavaScriptを実行します(ただし、テスト結果ページを利用できるようにしたいのですが)。
これらのユーティリティテスト専用に別のテスト結果ページを作成して、これらの結果が他のテストに影響を与えないようにします(ただし、実際には単一の統合ページが必要です)。
ユーティリティ関数に空のJSファイルとCSSファイルを渡してロードし、実際に結果ページに影響を与えないようにします。
だから私には選択肢があります。
しかし、私が本当に望んdocument
でいるのは、実際の現在のドキュメント以外のドキュメントにすることです。これが可能かどうかはわかりません。(実際、それが意味をなすかどうかさえわかりません。)これは可能ですか?iframeなどでできるかもしれません。
それがまったく役立つ場合は、単体テストしたい関数のタイプの例を次に示します。
javascript - クルーズコントロールなど、継続的インテグレーションでqUnitを使用する方法に関する推奨事項はありますか?
qUnitを使用してユニットテストを行うことを検討しています。継続的インテグレーションにはCruiseControlを使用しています。誰かが自動化された方法でqUnitを統合したかどうか、そしてもしそうなら、それをすべて機能させるためにあなたがしたことは...
javascript - QUnit:複数のアサーションを持つメソッドごとに1つのテストですか、それともメソッドごとに複数のテストですか?
次のjavascriptプロジェクトでTDDに着手することにし、ユニットテストにQUnitを使用しています。私はユニットテストにまったく慣れておらず、どの言語でも行ったことがありません。これは、私のモジュールの1つと、find
このメソッドが遭遇するすべてのシナリオをカバーしようとするメソッドの1つのテストの例です。
私の質問は、これを正しい方法で行っているのかということです。テストにアサーションが多すぎませんか?私のテストをさらに小さなテストに分割する必要がありますか?私はstackoverflowでTDDを読んでいますが、これを間違っているように感じるいくつかのことを読んでいます。
javascript - Backbone.View テスト出力がコンソール出力と異なる
Backbone.View.render() と .el の操作がわかりません。render() では、表示されると予想される出力をサポートするプロパティを this.el に割り当てます。これらのプロパティは、テスト時に this.el にあり、.el はコンソールで予想される出力を返します。しかし、出力はテストに表示されません。
これがコードとテストです(粗雑さを見落とすようにしてください。私はテストをグリーンに保つために学習し、苦労しています):
QUnitで次のようにテストします:
QUnit は、最後のテストで << test_row >> を返すと言います<label></label>
。しかし、JavaScript コンソールでは、 << test_row >> はテキストで期待される文字列を返します。
バックボーンのドキュメントでは、render() は目的の HTML を el に配置する必要があると書かれていますが、render() のデフォルトの動作を使用しようとしており、コンソールで動作します。テストで機能しないのはなぜですか?
javascript - QUnit テストで KnockoutJS ViewModel をリセットする
ノックアウト JS と、ノックアウト ビュー モデルの単体テストを行うための QUnit を使い始めたばかりです。私が直面している問題は、qunit テスト JavaScript ファイルに複数のテストがあり、View Model 定義を含む JavaScript ファイルにリンクしている場合です... 1 つのテストで View Model に加えたすべての変更テストモジュールで次のテストを開始するときにも存在します。私は、テスト間で状態が自動的にクリアされる NUnit 環境に慣れています。
ビューモデルを定義し、各単体テストの開始時に状態をリセットするための最良の方法を示す方法、パターン、または例はありますか?
visual-studio-2010 - jqueryWebページでのVisualStudioテストツールの使用
JQueryを使用してWebページをレンダリングするASPWebアプリケーションをテストするための最良の方法を見つけようとしています。私はQunitを使用して探していましたが、Javascriptに精通していません。降りるのにもっと簡単な道はありますか?
jquery - ReSharperを使用してQunitテストを実行すると、名前空間を解決できません
これは私のQUnitテストです:
これは、と呼ばれる別のjavascriptjwd.global
ファイルで定義された名前空間ですglobal.js
。ブラウザからURLを押してテストを実行すると正常に機能しますが、ReSharperを使用して同じテストを実行すると、エラーが発生しますjwd is not defined - { "fileName": "http://localhost:49824/Tests.js", "lineNumber": 8 }
。
jwd
ReSharperを使用してqunitテストを実行しているときに、名前空間を検出できることを確認するにはどうすればよいですか?