問題タブ [js-test-driver]
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 - jQuery Ajax テストが機能しない
$.ajax メソッドを呼び出してそのコンテンツを要素に入れるだけの非常に単純な jQuery プラグインをテストしようとしています。テストでは、モックに JsTestDriver と Sinon を使用しています。
プラグイン ファイルは次のようになります。
理論的には非常に単純なプラグインです。
そして、成功関数をモックする単体テストを作成しました。
それも正しいようです。次に、このテストを実行すると、コンソールから次の行が出力されます。
したがって、成功関数は「alex」文字列を正しく受け取ります。次に、 $(this) 参照が出力され、メッセージが html() 関数で設定され、以前の設定値をログに記録すると null が返されます。最後のログ メッセージはテスト ファイルにあり、ご覧のとおり ajax テキストが設定されていません。
私が間違っていることを誰かが知っていますか?今は見えない何かが欠けていると確信しているからです。
javascript - jsTestDriver:テスト実行時のorg.jvyaml.ParserException
jsTestDriverでJavaScriptテストを実行しようとしています。テストを開始すると、例外が発生しました。
jsTestDriverの.confファイルのargsにファイルパスが1つしかない場合、この問題は発生しません。例:
javascript - JsTestDriver、テスト関数の名前
テスト関数の名前に制限はありますか?
以下を と と書くtestA()
とtestB()
、両方とも実装されます。
しかし、名前を「testB」から「AjaxCreateT」に変更すると、testA()
そのまま実装されます。とても奇妙。誰か助けてくれませんか?
continuous-integration - Jenkinsでjs-test-driverタスクにリモートブラウザを使用するには?
.NET テスト用の NAnt/NUnit と .NET Web アプリケーションの継続的な統合に Jenkins を使用します。Jenkins は、自動化されたテストと共に多くのビルドを実行する 9 つのスレーブ (すべて Windows Server 2003) で構成されています。
JavaScript 単体テストを実行するために js-test-driver をセットアップしようとしていますが、以下の NAnt タスクは開発者ワークステーションでローカルに正常に動作しています。Internet Explorer は、すべての Web アプリケーションの唯一のターゲット ブラウザーであるため、テストしたい唯一のブラウザーです。
おそらく次の理由により、Jenkins で同じタスクに問題が発生しています。
- これはサーバーであり、サービス アカウントとして実行しています
- サーバーへのブラウザのインストールにはセキュリティ上の制限があります
js-test-driver wikiのGettingStarted
ページには、js-test-driver サーバーが実行されているマシンとは別のマシンでブラウザーを実行できると書かれています。
テストを実行する前に、テスト サーバーを起動し、少なくとも 1 つのスレーブ ブラウザーをキャプチャする必要があります。テスト ランナーが存在するマシンにサーバーを配置する必要はなく、ブラウザー自体も別のマシンに配置することができます。
- Jenkins/Windowsセットアップでこれを行った人はいますか?
- js-test-driver を実行するためのスケーラブルなセットアップの代替手段はありますか?
javascript - JSTestDriverカバレッジEclipseプラグイン
JSTestDriver Eclipseプラグインを使用していて、カバレッジプラグインをインストールしたいのですが、Eclipseで機能させる方法を知っている人はいますか?
前もって感謝します
その他の注意事項:私はWin XP 64ビット、Eclipseバージョン:Web開発者向けのEclipse JavaEEIDEを使用しています。バージョン:Helios Serviceリリース2ビルドID:20110218-0911
.confファイルのプラグイン部分は次のとおりです。
javascript - JStestDriver assertEquals ("000011",11) は false であってはなりませんか?
JSTD が "000011" (文字列) を 11 (数値) と等しくないと見なすことを期待していました。
しかし、実際の JSTD コードを見ると、assertEquals が返されます。
要素の 1 つがオブジェクトの場合のみ、それ以外の場合は戻ります
これは間違っていませんか?
javascript - Jasmine + JSTestDriver + Coverage + RequireJS
うわー、なんてめちゃくちゃ。これがシナリオです。
- バックボーン駆動のJSアプリ。
次のように初期化されたAMD機能のRequireJS:
次に、main.js内で次の構成コードを実行します。
各バックボーンビュー/モデル/ルーターは「define(...)」モジュールであり、「require( "theOneRouter"、...)」はmain.jsで1回呼び出されます。
Uglify/Closureでオプティマイザーとして使用されるr.js。1つの「コンパイル済み」main.jsは、.netフレームワーク内で動的に選択する./releaseサブフォルダーに作成されます。
Backbone + Require.JSを機能させるのにかなりの時間がかかりましたが、今はうまく機能しています!
次に、その上にジャスミンを叩くのも少しカスタム作業が必要でしたが、うまくいきました。SpecRunner.htmlからrequire.jsをロードし、requireのdefine(...)呼び出しを使用して各テストモジュールをAMDとして定義し、requireのrequire(...)呼び出しから1回Jasmineをインスタンス化して実行する必要がありました。 SpecRunner.html内:
これもうまくいきます。ロードと実行をテストします。問題はありません。Requireがすべてを処理します。
ここで、JSTestDriverのようなフレームワークをランナーとして機能させたいと思います。JSTDを選択したのは、そのシンプルさ、リモートブラウザーでのテスト機能、コードカバレッジのサポートのためですが、他の提案も受け付けています。
JSTestDriver自体は正常に動作します。私が抱えている唯一の問題は、JSTD + Jasmine+ReuireJSの組み合わせを一緒に実行することです。最大の問題は、構成ファイルでJSTDにJasmine / Requireテストモジュールをロードするように指示すると、次のエラーが発生することです。
http://requirejs.org/docs/errors.html#mismatch
r.jsを使用してすべてのコードを1つのmain.jsに最適化すると、カバレッジを含む組み合わせは機能しますが、カバレッジは1つの巨大なファイルに収集され、分析するのは困難です。言うまでもなく、50k行のコードjsファイルをインストルメントしてJSTD経由で実行するには非常に長い時間がかかります。
すべてのJasmineテストモジュールとコードモジュールをロードするフィクスチャのようなjsファイルを作成しようとしましたが、上記の「不一致」エラーに戻り続けます。また、JSTDに各モジュールについて個別に通知しない場合(htmlをロードすることにより)実際の読み込みを行う/jsフィクスチャ)コードカバレッジ用にインストルメント化されません。
誰かがこの特定の組み合わせを機能させることができましたか?多分私はあまりにも多くを求めています...
javascript - JStestDriver を使用して、JSP ファイル内の js コードをテストできますか?
簡単な質問:
JSP ファイル内に記述された Javascript コードに対して、特に JStestDriver を使用して単体テストを行うことは可能ですか?
または、必ず外部の js ファイルに抽出する必要がありますか?
unit-testing - jsTestDriverでクロージャライブラリを使用する
私は簡単なJavaScriptゲームを書くことによってグーグルクロージャーツールについて学んでいます。クロージャーライブラリでうまく機能するようにjsTestDriverを設定する方法を理解するのに問題があります。
具体的には、goog.requireメカニズムを使用して、追加のJavaScriptファイルをすべて手動で構成ファイルに追加するのではなく、含めるようにします。
meyerteeの提案に従って、依存関係を構成ファイルに自動的に書き込む簡単なスクリプトを作成しました
tests/jsTestDriver.conf.protoファイルは単純なテンプレートです。
これは非常に壊れやすいスクリプトですが、(私以外の)誰かが役立つことを願っています。
coffeescript - Require.JS および JS Test Driver: 予期しないトークン <
RequireJS を介してロードされた単純なバックボーン モデルをテストしようとしています。
私のテストは次のようになります。
JS テスト ドライバーの構成:
Chrome コンソールの JS Test Driver リッスン ページから見た問題:
キャッチされていない SyntaxError: 予期しないトークン <
Chrome から Todo.js を見ると、
実際の JS ではなく HTML ページであることに注意してください。JS の代わりに HTML ページが返されるため、返されconsole.log(Todo)
ます。undefined
これを間違って設定しましたか?