jasmine HTML レポーターを browserify スタイルのコードで実行する最善の方法はありますか? また、このヘッドレスをphantomjsで実行できるようにしたいので、HTMLレポーターが必要です。
5 に答える
ジャスミンのテスト (およびその他) に対処する詳細なサンプル プロジェクトを作成しました - https://github.com/amitayd/grunt-browserify-jasmine-node-exampleを参照してください。私のブログ記事での議論
この側面でのアプローチは、メイン ソース コード (すべてのモジュールが公開されている場所) 用の Browserify バンドルと、メイン ソース コードの外部に依存するテスト用の Browserify バンドルを作成することでした。その後、PhantomJS または実際のブラウザーの両方でテストを実行できます。
パッケージはまだないと思いますしjasmine-browserify
、Browserify/NPM のやり方と実際には一致しません (グローバル エクスポートは避けてください)。
今のところ、/node_modules/jasmine-reporters/ext/jasmine.js
とjasmine-html.js
を の一番上に含めて<head>
、すべての仕様をトップレベルに要求し、spec_entry.js
それをその後すぐに に配置する Browserify バンドルのエントリ ポイントとして使用し<head>
ます。(エントリ ポイントがトップレベルでない場合、Browserify の長期にわたる危険なバグにより、うまくいかないことに注意してください)。
グローバルまたはjasmine-node
の存在を想定しない限り、これはうまく機能します。ただし、 Browserify をハックしてファイルのディレクトリをクロールさせたい場合を除き、spec をその に登録することを忘れないでください。document
window
spec_entry.js
.spec.js
ただし、jasmine-node と browserify で透過的に動作する、よりエレガントなソリューションに非常に興味があります。
上記のすべての回答は少し古くなっているため (もちろん、それらが機能しなくなったという意味ではありません)、https://github.com/nikku/karma-browserifyを指摘したいと思います。これはカルマのプリプロセッサです。ランナー。テストファイルと必要なすべての依存関係を組み合わせます。このように作成された browserify バンドルは、構成に基づいて実行される Karma に渡されます。任意の最新のテスト フレームワーク (jasmin、mocha...) とブラウザー (phantom、chrome ..) を選択できることに注意してください。おそらくこれがまさに必要なものです:)
また、カルマを調べることもできます。セットアップは非常に簡単で、変更を監視してテストを再実行します。Karma を使用して browserify/react プロジェクトをテストするこのサンプル プロジェクトを確認してください。いくつかの依存関係を追加して、karma.conf.js ファイルを作成するだけです。
https://github.com/TYRONEMICHAEL/react-component-boilerplate