問題タブ [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.
javascript - angularシードを使用するマッチャーライブラリのテスト
angularシードプロジェクトを使用して角度プロジェクトをセットアップし、テストにジャスミンテストフレームワークを使用します。
しかし、ジャスミンのドキュメントの多くは特に期待/マッチングロジックとスパイに関して無関係であるため、私は混乱して驚いています。
期待のために、私は次のようなジャスミンのドキュメントからのものを使用できると期待していました:
これはどれも機能せず、代わりにチャイタイプのコードを書かなければならないようです:
そして、スパイが次のような期待を書くことができるようにするには:
しかし、代わりに次のように書かなければなりません:
2つの質問:
- Jasmine と Chai のマッチングに関する一般的な推奨事項はありますか、またはその逆ですか? コミュニティではどちらが好まれますか? それとも、シード プロジェクトが追いついていない何らかの移行が行われているのでしょうか?
- 初心者として、私は Jasmine マッチングを好みます (特にスパイを使用する場合)。Chai よりも Jasmine を使用するためのうなり声テストを取得するにはどうすればよいですか?
また、Jasmine 2.0 と 1.3 を使用する karma-jasmine プラグインを see プロジェクトで使用できるようにするとよいでしょう。
ありがとう。
アップデート
2つの追加事項に注意する必要があります。次のような grunt と karma-jasmine を使用したテストを実行します。
karma.conf.js ファイルは次のようになります。
フレームワーク: ['jasmine'] ではジャスミンを使用し、フレームワーク: ['mocha', 'chai'] では chai を使用すると考えました。
angularjs - その後、解決された promise のメソッドが呼び出されない
sinon、jasmine、および $q を使用してメソッドをスタブしようとしています。そのメソッドが私の偽のデータを返すことを望みます。
問題は、定義されたthen
ステートメントが呼び出されないことであり、その理由がわかりません。これはすでに簡略化されたバージョンですが、まだ機能していません:
- スタブは呼び出されます
- コンソールログ
Steven Stub is called
が呼び出されます then
コールバックは呼び出されません- エラー メッセージなし
これが私のコードです
何か案が?
gruntjs - grunt-karmaがファントムjsでジャスミンをロードしていません
私は(大まかに)次のディレクトリ設定をしています
また、browserify を使用して JS をバンドルしています。
すべての grunt/karma/browserify コードがサーバー コードと完全に混同されているため、このセットアップは非常に面倒です。
私が望むのは、すべてを次のようにクライアントディレクトリに移動することです
これは、JS コードとテストの依存関係をバンドルする限り、browserify と完全に連携します。
唯一の問題は、カルマがテストを実行するときにジャスミンを見つけることができなくなったことです。ログ レベルを DEBUG に設定すると、セットアップが実行されているように見えます。
カルマがブラウザに接続した後。
これらは壊れたセットアップでは見られませんが、タスクと構成は同じです。唯一の実際の違いは、ノード モジュールがクライアント ディレクトリにあり、ソース コードが新しいディレクトリに移動したことです。
angularjs - 右クリック メニューを使用して Web Storm で単一の Karma Jasmine テストを実行する
テスト スペックが で定義されている場合、セットアップが完了し、テストを正常にIdea Web Storm
実行できます。Karma
karam.conf.js
ただし、JS ファイルを右クリックして [Run MySpec.js] を選択すると、次のエラーが発生します。
この方法では JS テストを実行できない可能性があります。
の構成は次のWebStorm
とおりです。
前述のように、karma.conf.js ファイルにリンクされた KT 構成は問題なく動作します。
どんな助けでも感謝します。
javascript - カルマとジャスミンを使用したAngularjsの基本的なテストケースが機能しない
angularでのテストは初めてです。ここでカルマを実行してもエラーはありません。expected(true).toBe(true) と expected(false).toBe(true) は、以下と同じ出力を返しますが、理由はわかりません。
カルマ.conf.js
テスト/仕様/コントローラー/main.js