Подтвердить что ты не робот

Настройка Grunt, Jasmine и RequireJS вместе

Я полный noob с Jasmine и RequireJS, поэтому любая помощь приветствуется.

У нас есть следующая структура каталогов

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

Я пытаюсь настроить Jasmine + Grunt + RequireJS для запуска моих тестов, но я продолжаю получать следующую ошибку, когда я запускаю задачу Grunt Grunt jasmine. Я просмотрел ошибку на сайте RequireJS, но, на мой взгляд, все в место.

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

Вот моя установка Jasmine в моем 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>

Где я ошибаюсь, что я могу сделать, чтобы исправить это?

4b9b3361

Ответ 1

Ну, я запустил его, пришлось внести следующие изменения в конфигурацию Jasmine в моем Gruntfile.js

baseUrl: './assets/'

Ему нужно было переместить один каталог вверх.

Ответ 2

Когда вы укажете Grunt Jasmine на использование /assets в качестве вашего basePath, он будет искать в вашем абсолютном пути /assets, что означает, что вы будете говорить, чтобы хрюкать, чтобы посмотреть в корневой путь файловой системы.