問題タブ [karma-mocha]

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 投票する
2 に答える
2166 参照

javascript - クリックイベントで呼び出されるスパイ機能

私は何を間違っていますか?要素のクリック イベントで呼び出される関数をスパイしようとしていますが、テストは常に false を返します。

仕様:

js:

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

angularjs - カルマとモカを使用してテストすると、Angular の $interval サービスが見つかりません

依存関係として $interval を持ち、それを利用して動作するように見えるサービスを作成しました。残念ながら、アプリの単体テストをしようとすると、角度によって $interval サービスが見つかりません:

いつものようにコントローラー内でサービスを呼び出すのではなく、アプリの run() メソッドで呼び出します。

動作しますが、アプリをテストしようとするとクラッシュします。残りの角度サービスにはこの問題 ($window、$location、$rootScope など) はないようです。この同じサービスでさえ、app.run() で呼び出すのではなく、コントローラーにサービスをアタッチすると機能します。 :

Karma+Mocha+Sinon+Chai を使用してテストします。

更新 app.run() で $interval を使用しようとするミニアプリの例:

テスト:

: app.run() から $interval を削除すると機能します。代わりに、$timeout、$window、または $location などの他のAngular サービスは問題にならないようです。

また、$resource などの他のサービスにもこの問題があることに気付きました。

これらのサービスのいくつかは、準備が整う前に何か他のものが必要になると思います。そのため、app.run() で呼び出すことができません。

助けてくれてありがとう。

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

javascript - angularjs の非同期 $http の実際の呼び出しをテストする

$http 呼び出しをモックせずに、angularjs サービスの e2e テストを実行したいと考えています。fsSvc.getSubject を呼び出すと、複数の組み込み非同期呼び出しが発生し、最終的には、呼び出しを行った場所でコールバック関数を呼び出すことになります。

これがうまくいかないかどうかわからない - モックされていない場合、$http は実際に呼び出しを行うべきではありませんか?:

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

javascript - Karma (モカ) - 単体テストが失敗するたびに予期しないトークン N

Karma + Mocha を使用して単体テストを実行しています。テストが失敗した場合を除いて、すべてがうまく機能します。

失敗すると、「オブジェクトは期待されていましたが、文字列が指定されました」などと言うと思いますが、代わりに、失敗したすべてのテストについて、どのように失敗したとしても、false で true をアセットにしようとしても、 ):

私は自分のコードに構文エラーがないことを知っているので、それはカルマ/モカと失敗したテストの処理方法に関係していると推測しています..どこを見ればいいのかわかりません..ここに私のgulpタスクがあります:

ここに私の karma.conf ファイルがあります:

どんな助けでも大歓迎です!!! ありがとうございました!

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

unit-testing - カルマモカに引数を追加するには?

TypeScript プロジェクトの単体テストを設定しました。コマンドラインからこれはうまくいきます:

今、私はカルマファイルにモカとチャイを次のように追加しました:

このセクションを使用して、ファイルを使用compilers ts:typescript-requireして mocha への引数を含めるにはどうすればよいですか。karma.conf.js

例をいただければ幸いです。

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

javascript - Mocha テストで Angular Controller Mock が持続しない

現在、karma-mocha 0.2.0 および karma-chai 0.1.0 で Angular 1.2.x を実行しています。

以下は、モジュールMentorAvailabilityDashboardCtrlに基づいたmy の簡単な単体テストを作成する試みです。Mentors個別に実行するとすべてが成功しますが、テストをそのまま実行すると、「エラー: [ng:areq] Argument 'MentorAvailabilityDashboardCtrl' is not a function, got undefined」というエラーが表示されます。

テストが一度実行された後に Mocha または AngularMock がリセットされ、その後は未定義であると思われます。

例:

一斉に試運転

  • 1次試験=合格
  • 2 番目のテスト = 不合格「MentorAvailabilityDashboardCtrl が未定義になりました」
  • 3 番目のテスト = 不合格「MentorAvailabilityDashboardCtrl が未定義になりました」
  • 4 回目のテスト = 不合格「MentorAvailabilityDashboardCtrl が未定義になりました」

一斉に実行中のテスト (他のテストをコメントアウト)

  • 1次試験=合格
  • 2次試験=合格
  • 3次試験=合格
  • 4次試験=合格

質問:

最初のテストの実行後にコントローラーが未定義になるのはなぜですか? テストの実行ごとにコントローラーを永続化するためにできることはありますか?

私のコード:

実際のエラー: