問題タブ [karma-jasmine]

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.

0 投票する
1 に答える
4660 参照

angularjs - ジャスミンテストでディレクティブスコープ変数にアクセスできない

以下のようなディレクティブがあります。

以下のジャスミンテスト:

問題は、 isSaving の値がディレクティブに反映されていないため、resetButton 関数が呼び出されないことです。仕様でディレクティブ スコープにアクセスし、変数値を変更するにはどうすればよいですか。私はisolateScopeを試しましたが、同じ問題が続きます。

0 投票する
1 に答える
24002 参照

angularjs - カルマ/ジャスミン テストで角度のあるサービス/約束を模擬する

カルマ/ジャスミン テストを作成しようとしていますが、プロミスを返すサービスでモックがどのように機能しているかについての説明が必要です。私は自分の状況を説明します:

次の呼び出しを行うコントローラーがあります。

私のサービスは次のとおりです。

そして最後に、ここに私のユニットテストがあります:

本当にやりたいことは、応答オブジェクト ({"elements:...}) を fillMapDatas 関数の datas パラメーターとして持つことです。すべてのサービスのもの (サービス、約束、そして) をモックする方法がわかりません。

0 投票する
1 に答える
845 参照

angularjs - angularディレクティブのwindow.bind()のジャスミンテスト

ジャスミンでテストする必要がある以下のディレクティブがあります。

scrollFunc と resizeFunc は両方とも、同じディレクティブ内の別個のメソッドです。このコード ブロックをテストするにはどうすればよいですか。$window でモックするか、他の方法がありますか。どんなポインタも役に立ちます。

0 投票する
4 に答える
27091 参照

angularjs - ダイジェストを強制する $scope がない場合、AngularJS、Jasmine 2.0 で約束を解決する方法は?

強制しない限り、Angular/Jasmine テストでは約束が解決されないようです$scope.$digest()。これはばかげた IMO ですが、問題ありません。該当する場所 (コントローラー) で動作しています。

私が今いる状況は、アプリケーションのスコープをあまり気にしないサービスを持っているということです.それはサーバーからいくつかのデータを返しますが、約束は解決されていないようです.


この機能をテストする正しい方法は何ですか?

編集:参照用のソリューション。どうやら、サービスが使用していない場合でも、 $rootScope を注入して消化することを余儀なくされているようです。

0 投票する
1 に答える
2574 参照

angularjs - config ブロックの $routeprovider resolve の jasmine テスト

モジュール構成ブロックに以下があります。

仕様ファイル:

ただし、テストの実行中に次のエラーが発生します。

私のカルマ設定には angular-route.min.js ファイルが含まれています。どんな提案も役に立ちます。

0 投票する
1 に答える
1680 参照

javascript - Karma basePath のデフォルトは C:\ です

カルマを介してジャスミンスペックを実行しようとしていますが、カルマがインクルードファイルを探すときにC:\、構成ファイルがC:\dev\project\.

gulp タスクで Karma を実行しています。

この問題に関連する設定:

カルマからログを実行すると、次のようgulp testに吐き出されます。

私はカルマが初めてで、ここで何が問題なのかよくわかりません。、、およびbasePathを試しました。'''./''/'

0 投票する
2 に答える
7988 参照

node.js - karma.conf.js が存在しません! nodejsエラー

次のコマンドを使用して、 yoeman scaffolding ツールで角度のあるアプリを作成しました。



実行するgrunt serveと、アプリが正常に出力されます。実行すると、それgruntが得られます


"karma:unit" (karma) タスクの実行エラー [config]: ファイル /home/ubuntu/karma.conf.js が存在しません!


ファイルはそこにありませんが、これはカルマがインストールされたときに生成されるべきではありませんか?

私が実行しているバージョン:

npm 1.4.9

1.1.2

バウアー1.3.4

node v0.10.28 (yoeman の新しいバージョンではなく、このバージョンが最適であるとどこかで読みました)

0 投票する
1 に答える
1307 参照

javascript - Angular リソース プロミス キャッチ、ジャスミン toThrow()

角度コントローラーにいくつかのコードがあります:

user は、 get メソッドが呼び出されたときに promise を返す角度のある $resource です。

次のようにジャスミンでエラーがスローされるかどうかをテストしようとしています:

しかし、このエラーがスローされます:

例外をスローする関数が必要です。

期待どおりに機能する約束の受け入れをテストしましたが、対処できない非同期の側面があると想定しています。

また、passing in を呼び出して done() を呼び出してみましたが、どちらも機能しませんでした。

編集:

私はバックエンドを次のように嘲笑しています:

私の他のテストは機能することに注意してください。サーバーが 200 とユーザーを返し、すべてが機能する他のシナリオを試しました。サーバーエラーを受け取ったときに $scope.login() がエラーをスローするかどうかを具体的にテストしています。

0 投票する
12 に答える
58341 参照

javascript - Karma/Jasmine がテストを実行せずにタイムアウトする

http://newtriks.com/2013/12/31/automating-react-with-yeoman-and-grunt/で生成されたプロジェクトで Grunt から Karma/Jasmine を実行しようとしています。

Karma は PhantomJS (または Chrome) を起動し、singleRun に応じて、タイムアウトするか、そのまま何もしません。captureTimeout同様の問題を抱えている人々からの解決策を読んで、変更を試みましbrowserNoActivityTimeoutたが、うまくいかないようです。

関連するパッケージのバージョンなど:

  • NodeJS: 0.10.25
  • カルマ: 0.12.16
  • ウェブパック: 1.1.11
  • webpack-dev-server: 1.4.1
  • カルマ-ジャスミン: 0.1.5
  • Linux: Ubuntu 14.04

OS Xで同じ問題を抱えている人を見つけました:

すべての開発依存関係を最新バージョンに更新しようとしましたが、問題はまだ残っています。

私のコンソール出力は以下のとおりです。bundle is now VALID/INVALIDを参照する webpack 行は心配ですが、それらが何を意味するのかについての情報は見つかりません。これが私のコンソール出力です:

これが私のkarma.conf.jsファイルです:

0 投票する
0 に答える
144 参照

angularjs - $compile() を使用してコンパイルされたテンプレートが、Karma を使用する場合とアプリを実行する場合で異なるオブジェクトになるのはなぜですか?

ディレクティブ (コンポーネント) をテストしようとしています。ディレクティブは、ニュース フィードを作成しようとする試みです。ニュース フィード ディレクティブは、ニュース フィード コンポーネントの item 属性が変更されるたびに、posts (他のディレクティブ) を子要素として追加します。

私が直面している問題は、アプリで使用するとディレクティブが機能することですが、テストしようとすると「オブジェクト [オブジェクト オブジェクト] にはメソッド 'appendTo' がありません」というエラーが表示されます。

デバッグから確認できたのは、カルマを使用すると何らかの理由$compile(template)(parent_scope);で JQLite オブジェクトが返され、アプリで使用すると配列が返されることです。

誰かがこれに光を当てることができれば、それは素晴らしいことです. 前もって感謝します