10

私は Jasmine と RequireJS の完全な初心者なので、助けていただければ幸いです。

次のディレクトリ構造があります

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

Jasmine + Grunt + RequireJS をセットアップしてテストを実行しようとしていますが、次のエラーが発生し続けます. grunt task grunt jasmineを実行すると、RequireJS サイトでエラーを確認しましたが、私の見解ではすべてが整っています.

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

gruntfile.jsでの Jasmine のセットアップは次のとおりです。

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>

どこが間違っているのですか、それを修正するにはどうすればよいですか?

4

2 に答える 2

10

さて、私はそれを実行しました.Gruntfile.jsのJasmine構成で次の変更を行う必要がありました.

baseUrl: './assets/'

ディレクトリを 1 つ上げる必要がありました。

于 2013-04-29T22:23:21.940 に答える
2

Grunt Jasmine を/assetsbasePath として使用するように指定すると、絶対/assetsパスが検索されます。つまり、ファイル システムのルート パスを検索するようにうなり声を上げます。

于 2013-05-11T04:05:42.017 に答える