問題タブ [grunt-contrib-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.
gruntjs - Grunt Jasmine 「undefined のメソッド「join」を呼び出せません」
grunt 0.4.1 で grunt-contrib-jasmine 0.6.0 にアップグレードしました。
テストは以前は機能していましたが、現在は次のようになっています。
javascript - Grunt-Contrib-Jasmine で仕様を実行し、依存関係を読み込むにはどうすればよいですか?
プロジェクトは次のとおりです: バックボーン + 要求 + アンダースコア + Grunt + Grunt-Contrib-Jasmine + Grunt-Lib-PhantomJS
だから私が戦ってきた2つの深刻な問題。アプリのsrcファイルを含めると大量のランタイムエラーが発生するため、phantomjsが適切に実行されていることなどを知っています。_
バックボーンが定義されていないなどの理由でbarfしないように、depを適切に注文しました.
1)アプリケーションの src をインクルードすると、can't find variable: define
すべてのソース ファイルでエラーが発生します。私は要件をsrc[]
isntead に入れよvendor[]
うとしましたが、deps を含む RequireJSConfig.js を読み込もうとさえしました。
2)ここに問題があります: 私は自分の仕様ファイルを適切に指していると確信しています。1 つの testを指すだけでも、No Specs Executed. Is there a configuration error?
In my case, I just point at myUserModelUnitTest.js
と表示されます。これは非常に単純です。実行されません。私は絶対に気が狂います!
仕様 (UserModelUnitTest.js):
ここに私のディレクトリ構造があります
ここに私のGruntfile / Jasmineの設定があります
gruntjs - grunt-contrib-jasmine テストを使用した Travis-CI が偽陽性を示す
Travis-CI と統合した後、spec ファイルが何らかの理由でエラーをスローすると、誤検知が発生する可能性があることに気付きました。
travis でリントされたすべてのファイル
しかし、phantom が起動するとスペックの 1 つが失敗し、これは travis 内でのみ発生します。私は他の同僚が新しいレポをチェックアウトし、問題なく同じ単調なタスクを実行できます。
このエラーは飲み込まれ、他のスペックファイルが実行され、それらがすべてパスした場合、travis はすべて問題ないと判断します。
これに対抗するにはどのような方法が必要ですか? 基本的に、spec ファイル全体がロードまたは実行されるわけではありませんが、build:passing イメージがあります。出力を見なくても CI を信頼できるようにしたいのです。
grunt travis で 74 個のテストをローカルで実行できますが、travis で実行すると 55 個で合格します。
javascript - grunt-contrib-jasmine でスペックランナーを出力する方法はありますか?
したがって、PhantomJS で grunt-contrib-jasmine の実行仕様を取得しました。エラー時だけでなく、常に _specRunner.html (ブラウザーで実行される) を出力するように構成する方法はありますか?
これはドキュメントに記載されていますが、このフラグを設定するにはどうすればよいですか?
フラグ
お名前: ビルド
SpecRunner html ファイルをビルドするには、このフラグをオンにします。これは、テンプレートのトラブルシューティング、ブラウザーでの実行、または監視チェーンの一部として役立ちます。
javascript - Jasmine ではパスするが、grunt-contrib-jasmine では失敗するテスト: document.getElementsByClassName
このテストは、web ブラウザー (safari または chrome) 経由で実行すると合格しますが、grunt-contrib-jasmine 経由では失敗します。
妙に document.getElementsByClassName('video').length = 1 なのに document.getElementsByClassName('video')[0] === 未定義
どんな助けでも大歓迎です!
javascript - grunt-contrib-jasmine で jasmine-ajax を動作させる方法
jasmine-ajax ライブラリを使用してgrunt-contrib-jasmineでajax リクエストをモックしようとしていますが、 jasmineがライブラリを見つけることができないようです (jasmine.Ajax が定義されていないと表示されます)。
私のうなり声ファイル:
mock-ajax.js をダウンロードして vendor フォルダに配置しました。これは、エラーが表示されるテストの一部です。
javascript - PhantomJS、EJS テンプレート、および XMLHttpRequest Exception 101 を使用した grunt-contrib-jasmine
単純なプロジェクトの基本的な単体テスト環境をセットアップしようとしていますが、何時間もの調査の後で克服できなかった奇妙なハードルにぶつかっています。
何らかの理由で、Error: NETWORK_ERR: XMLHttpRequest Exception 101
XHR を使用してテンプレートをロードしようとしている EJS から直接返されますが、たまにしか返されません。
ケースは単純です。EJS テンプレートをレンダリングするバックボーン ビューをインスタンス化するバックボーン アプリケーションがあります。これは次のようになります。
grunt-contrib-jasmine をセットアップするために、 Gruntfile に次のスニペットがあります。
ほとんどの場合、テスト スイートを実行できます。
しかし、時々、コンソールがこれを私に吐き出します:
デバッグに役立つように、EJS エンジンの関連部分にログが追加されました。それは次のようになります。
連続して 6 ~ 7 回実行できgrunt jasmine
、シームレスに動作します。突然試行が失敗し、その後の試行で通常に戻る可能性が高くなります。また壊れるまで。そして、これは私がどこにも何も触れずに!
私は本当にこの問題に取り組むことに希望を失い始めています. ここに私が経験したいくつかのソースがありますが、うまくいきませんでした:
- ファントム JS 同期 AJAX 要求: NETWORK_ERR: XMLHttpRequest 例外 101
- grunt-contrib-jasmine と PhantomJS のセキュリティ
- NETWORK_ERROR: XMLHttpRequest 例外 101
- https://github.com/ariya/phantomjs/issues/10028
- https://github.com/ariya/phantomjs/issues/11145
何が原因であるか、または問題をデバッグするために次に何をすべきかについてのヒントを知っている人はいますか?
PS: 私の質問はコード スニペットに少し圧倒されているように感じます。何らかの方法で質問を改善できるかどうか教えてください。
javascript - grunt-contrib-jasmine がぶら下がっているのはなぜですか?
これを理解するのに時間がかかったので、後世のためにこれを求めています。
私は、require.js を使用するアプリケーションと、ジャスミンに基づいたテストを grunt で自動化しています。
モジュールを論理コンポーネントにグループ化し、それぞれが の下のディレクトリにありapp
ます。私のrequirejs.config()
呼び出しは、これらのコンポーネントのパスプレフィックスを次のように設定します。
次に、これらのモジュールへの依存関係を次のように指定できます。
私のアプリは動作し、私のテストは Web ベースのランナーに合格します。これは、アプリケーションで使用したものと同様の構造に従います。これは、require.js を指すドキュメント本体の単一の要素<script>
であり、これには非常によく似た呼び出しが含まれていますが、テスト自体の追加パスと、テストを実行する への呼び出しのみが含まれています。data-main
test/index
requirejs.config()
window.onload()
しかし、を使用するgrunt-contrib-jasmine
と、テストがハングし、テストが実行されません。私が受け取るメッセージは次のとおりです。
どうすれば自分のテストをうなり声で通過させることができますか?