9

私がやろうとしていることの説明を探してインターネットを精査しましたが、役に立ちませんでした。ローカルホストから 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 は実際にはローカル サーバーに対してポーリングしていないように見えます。ハングしてタイムアウトするだけです。

4

1 に答える 1

6

grunt-contrib-connectを使用してローカルサーバーを起動する必要があります

構成で指定します。

grunt.initConfig({
  connect: {
    server: {
      options: {
        port: 3000
      }
    }
  }  
});    

エイリアス タスクに追加します。

grunt.registerTask("default", ["connect", "your-jasmine-task"]);

そしてそれを実行します:

$ grunt default
于 2013-04-08T13:33:03.820 に答える