2015-06-05 3 views
1

Итак, я создаю угловой проект 1.3 es6 с использованием jspm и babel. Im использует функцию импорта/экспорта es6. У меня есть карма и карма-jspm, и я могу запускать базовые тесты без проблем. Когда я пытаюсь импортировать один из моих модулей в тест для его проверки, я получаю сообщение об ошибке в карме.Модульные тесты с кармой на угловом проекте 1.3/JSPM/Babel

Error loading "app/services/chart-data/chart-data.spec" at http://localhost:9876/base/app/services/chart-data/chart-data.spec.js Error loading "npm:[email protected]" at http://localhost:9876/base/jspm_packages/npm/[email protected] Error evaluating http://localhost:9876/base/jspm_packages/npm/[email protected] Error evaluating http://localhost:9876/base/jspm_packages/npm/[email protected]/browser.js TypeError: 'undefined' is not a function (evaluating 're.test.bind(re)') at undefined

А вот часть моей кармы конфигурационный файл:

frameworks: ['jspm', 'jasmine'], 


// list of files/patterns to load in the browser 
files: [ 
], 

jspm: { 
    // Edit this to your needs 
    loadFiles: ['app/**/*.spec.js'], 
    serveFiles: [] 
}, 

И это пример испытания:

import {chartData} from 'chart-data.service'; 

describe('Example test', function() { 
    it('should be foo', function() { 
     expect('foo').toBe('foo'); 
    }); 
}); 

Я не везло с поиском для ответа и даже попросил о помощи в jspm gitter, но ничего не вышло до сих пор.

Все остальное в проекте, кажется, работает нормально, и я могу запустить тест, если я удалю линию импорта. Любая помощь или предложения были бы весьма признательны.

ответ

0

Похоже, вы используете тесты в браузере, который не поддерживает Function.prototype.bind. Вавилон нуждается в этой функции.

Вы можете исправить ошибку: karma-phantomjs-shim или попробуйте использовать новую версию браузера. Начиная с версии 2.0, PhantomJS выполняет эту функцию.

+0

Отлично. Это зафиксировало проблему бабеля, спасибо! У меня еще пара вопросов (не уверен, что я должен задать новый вопрос, или я могу сделать это здесь). Первая проблема заключается в том, что карма постоянно смотрит на мои компоненты dower (в приложении/компонентах), у которых есть куча файлов bootstrap js, и он продолжает терпеть неудачу. Я не хочу, чтобы он загружал их. Когда я избавлюсь от загрузочного диска, он отлично работает, но потом он упоминает, что он не может найти угловатый. Когда я явно добавляю угловые файлы загрузки (под объектом jspm), он говорит, что угловой загружен более одного раза. Опять же, lemme знает, нужно ли мне просто создавать новые вопросы. Спасибо! – ofthepines

+0

На ваш каталог 'app/componentetns' влияет ваше выражение в jspm-конфигурации. Если вы должны переместить компоненты балансировки из этого каталога или изменить конфигурацию jspm и сделать ее более конкретным –

Смежные вопросы