私がやろうとしていることの説明を探してインターネットを精査しましたが、役に立ちませんでした。ローカルホストから PhantomJS を使用してロードすることにより、実稼働コードで直接実行する、構築中の Web フロントエントの単体テストを実施したいと考えています。実際のサイトをロードし、dom とやり取りしてすべてをテストした後、スペックを通過する Grunt タスクを実行したいと思います。私はほとんどそこにいますが、実際にはページをロードできません。
gruntfile の jasmine オプションにホスト項目を追加すると、次のようになります。
options: {
specs: 'spec/*Spec.js',
helpers: 'spec/*Helper.js',
vendor: ['app/assets/javascripts/src/libs/jquery-1.9.1.min.js', 'app/assets/javascripts/src/libs/underscore.js'],
template: require('grunt-template-jasmine-requirejs'),
host: "http://localhost:3000"
}
毎回タイムアウトエラーが発生します。Grunt のコンテキストでこの問題に実際に対処した人は誰もいないので、ストーリーが何であるかはわかりません。また、非同期テストを実行していません。ホストを除外すると、テストは正常に実行されますが、ローカル ネットワークではなく、ローカル ファイル システムを介して生の JavaScript ファイルに対してのみ実行されます。Jasmine テストを別のホストで実行できるようにテンプレートを構成するにはどうすればよいですか?
アップデート:
実際には、Grunt は実際にはローカル サーバーに対してポーリングしていないように見えます。ハングしてタイムアウトするだけです。