2013-04-29 4 views
10

私はJasmineとRequireJSの完全なnoobですので、どんな助けもありがとうございます。グランツ、ジャスミンとRequireJSを一緒に設定する

私たちは、私は私が私の面倒タスクイサキジャスミンを実行すると、次のエラーを取得しておくが、私のテストを実行するために、セットアップジャスミン+兵卒+ RequireJSにしようとしている次のディレクトリ構造

/assets 
     /libs <- populated by Jam 
     /scripts 
/tests 

を持っています私はRequireJSサイトのエラーを見直しましたが、私の見解ではすべてが整っています。ここで

Error: scripterror: Illegal path or script error: ['scripts/MyModule'] 

ここに私のgruntfile.js

jasmine: { 
    src: 'assets/scripts/**/*.js', 
    options: { 
     specs: 'tests/*spec.js', 
     template: require('grunt-template-jasmine-requirejs'), 
     templateOptions: { 
      requireConfig: { 
       baseUrl: '/assets', 
       paths: { 
       'jquery': 'libs/jquery/dist/jquery' 
       } 
      } 
     } 
    } 

の私のジャスミンのセットアップが死んで簡単なテストスペック :)

require(['scripts/MyModule'], function (myModule) { 
    'use strict'; 

    describe('A suite', function() { 
     it('should pass this test', function() { 
      expect(myModule).not.toBe(null); 
     }); 
    }); 
}); 

RequireJSは私のプロジェクトで正常に動作ですここに私がそれを実行するセットアップがあります...

<script> 
var require = 
{ 
    baseUrl: '/assets' 
}; 
</script> 
<script src="/assets/libs/require.js"></script> 

私は間違っていますが、私はそれを修正するために何ができますか?

答えて

10

は、まあ、私はそれを実行しました、それは1つのディレクトリまでの処理に必要な私のGruntfile.js

baseUrl: './assets/' 

でジャスミンconfigに以下の変更をしなければなりませんでした。

+0

あなた自身の答えを受け入れることができます。それは将来の参考に役立ちます! – thomaux

+0

後継の場合: '.'はカレントディレクトリを、' ..'は一つのディレクトリを上にします。 '/'でパスを開始すると、ルートレベルになります。クライアントサイドでは、ルートurlを意味し、サーバ側ではファイルシステムのルートパスです。 – Spoike

2

/assetsをbasePathとして使用するように指定すると、絶対パス/assetsが表示されます。つまり、ファイルシステムのルートパスを調べるように言います。

関連する問題