問題タブ [karma-runner]
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.
ant - Karma - JUnitReport - ANT: 空のレポート
通常どおり実行され、レポーターが次のように設定されている AngularJS E2E テストがいくつかあります。
レポート xml ファイルが生成され、testsuites->testsuite->testcases.... の階層が含まれます。
ANT を使用して HTML レポートを生成しようとしています。
HTML ファイルは適切に生成されますが、テーブル内のすべての値は空で、0 テスト、0 失敗などです...
私は何を間違っていますか?
前もって感謝します
javascript - Linq2IndexedDB でオブジェクトを挿入する方法
単体テスト ( Mocha経由) を介して Linq2IndexedDB (v. 1.0.21) を試していますが、単純な挿入作業を行うことさえできません。(Google Chrome で実行している場合) Linq2IndexedDB.js の 1535 行目で内部例外がスローされます。
Uncaught TypeError: Cannot read property 'version' of undefined
私の単体テストコードは次のようになります。基本的に、「オブジェクトを追加できる」というテストが 1 つあります。
ここで何か間違ったことをしていますか、それとも Linq2IndexedDB (またはその両方) にバグがありますか?
対応するテスト プロジェクトを Githubに配置し、 Karma構成を完備しているため、含まれているテストを簡単に実行できます。Karma の構成は、Chrome がインストールされていることを前提としています。
angularjs - AngularJS - エラー: 不明なプロバイダー: searchResultsProvider
編集: 単体テストを実行することができました - サービスを含むコードを別のファイルと別のモジュールに移動し、この新しいモジュールを fooBar モジュールの要件にし、各「it」ブロックが呼び出される前に導入しましたコードbeforeEach(module(<new_service_module_name))
。ただし、アプリケーションはまだ実行されません。コンソールにもエラーはありません。これが残っている唯一の問題です。コントローラーの定義にグローバル スコープを使用すると、アプリケーションは動作しますが、angular.module.controller を使用すると動作しません。
app.js
以下を含むファイルがあります。
controllers.js
次を含む別のファイルがあります。
searchResults
私が作成したサービスは、単純に getter メソッドと setter メソッドを持っています。上記のコントローラーは setter メソッドを使用するため、サービスが注入されます。
その結果、私のアプリケーションは実行されません! コントローラーのコードを次のようにグローバルに変更すると:
その後、アプリケーションが動作します!
また、グローバル スコープを使用すると、次の単体テスト ケースが機能します。
モジュールスコープに戻ると、エラーが発生します-
Error: Unknown provider: searchResultsProvider <- searchResults
したがって、グローバル スコープを使用すると、アプリケーションと単体テストが実行されますが、app.controller を使用すると、それらが壊れているように見えます。
私が指摘したもう 1 つのポイントは、コントローラー コードを のapp.js
代わりに含めるcontrollers.js
と、アプリケーションと単体テストが再び機能し始めることです。しかし、それらを同じファイルに含めることはできません。アプリケーションと単体テストを壊さずに角度範囲でこれを実行するにはどうすればよいですか?
angularjs - Jasmine Test (BDD) を記述する際の「describe」内の複数の「it」
現在、Karma を JS ランナーとして使用して Jasmine でテストを書いています。以下のように、「記述」内に複数の「それ」を含めることはできますか。
現在は失敗していますが、冗長にならずにテストを作成するにはどうすればよいでしょうか (この場合、同じコントローラーを 2 回記述する必要があります)。
environment-variables - CHROME_BIN の環境変数の設定が機能しない
js スクリプトのテストに Karma を使用しようとしています。ドキュメントでは、環境変数を設定する必要があると書かれていますCHROME_BIN
:
に設定しました
%programfiles(x86)%"\Google\Chrome\Application\Chrome.exe
しかし、DOS を入力すると、 のスペースで%CHROME_BIN%
切り捨てられて失敗します。C:\Program
Program Files
この問題を回避するにはどうすればよいですか?
angularjs - AngularJS: エンド ツー エンド テストの問題
アプリケーションのエンド ツー エンド テストを作成しようとしています。基本的なテストを実行したところ、正常に動作しています。
上記のテストは正しく機能します。
今、ng-repeat
要素にディレクティブを使用しています。この繰り返しの配列は、ボタンがクリックされるたびに 1 カウント増加します。したがって、次のテストを作成しました。
私は runner.html を使用しています (これは AngularJS エンド ツー エンド チュートリアルにあります)。ページを読み込むと、最初のテストは成功です。ただし、2 番目のテストでは次のエラーが発生します。
add-criteria
次のようなクラスのボタンがあります。
それでも、テストは失敗します。削除.add-criteria
して に置き換えて.new-criteria
も、同じエラーが発生します。どういうわけか、repeater()
正しい要素を取得できますがelement()
、セレクターに一致する要素が見つからなかったと報告されます。
何がうまくいかないのですか?
編集: Node / Express で AngularJS を使用していることをここに追加したいと思います。私のディレクトリ構造はangular-express-seedのものと同じです。CSS および JS ファイルがパブリック フォルダーに配置され、HTML ページがビュー フォルダーに配置されているために、この問題が発生することがわかりました。CSS および JS ファイルをビュー フォルダーにコピーすると問題が解決する ビュー フォルダーにコピーせずにこれを達成するにはどうすればよいですか?
angularjs - 特定の要素が表示されるかどうかのテスト
要素が睾丸 (ジャスミン) で表示されているか非表示であるかを調べるにはどうすればよいですか?
私のDOMは次のようになります:
選択または入力ボックスのいずれかが表示されますが、両方は表示されません。(他の基準に基づいて)どの要素が表示されているかを確認したいのですが、コードを機能させる方法がわかりません。私は次のコードを書きました:
しかし、私はエラーが発生します:
入力が表示され、選択が同時に非表示になっている (またはその逆) かどうかを確認するにはどうすればよいですか?
編集:これはエンドツーエンドのテストであることをここに追加したいと思います