Я пытаюсь настроить тесты, в которых мы используем Angular 1.5, TSify и Karma. Я очень, близко, но я бегу на вопрос, что я не совсем получили право:Угловая, карма, tsify, беды
Я после установки, описанной здесь: https://github.com/cmlenz/tsify-test (этот пример не включает в себя угловой)
Я получаю сообщение об ошибке: «Невозможно установить свойство« mock »undefined»
Это должно быть либо тайм-аут, либо предмет сферы - либо угловые-макеты загружаются слишком рано, либо браузеру обертывая объем угловой переменной, а издевательства не видят этого. Без понятия.
Вот соответствующие части моего karma.conf.js файл:
frameworks: ['browserify', 'jasmine'],
files: [
'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js',
'./node_modules/angular-mocks/angular-mocks.js',
'./modules/**/*.spec.ts'
],
exclude: [],
preprocessors: {
'**/*.ts': 'browserify'
},
browserify: {
debug: true,
plugin: [
['tsify']
]
},
Это должно иметь что-то делать с тем, как я загружаю издеваюсь - это не используется моим угловым приложением, просто тесты, так что это должно иметь какое-то отношение к этому.
Любые подсказки?
Ваш массив 'files' должен содержать ** все ** файлы, необходимые для тестирования. Где 'angular.js', а также ваши файлы приложений? – Phil
Из вашей конфигурации видно, что с помощью NPM был установлен «угловой макс». Если «угловой» также был установлен с NPM и входит в комплект с помощью 'require' в файле' .ts', это, скорее всего, проблема, так как «угловые матки» должны загружаться после «углового». – cartant
@Phil Browserify объединяет все файлы (включая файлы поставщиков) в один пакет. В примере, с которого я работаю, они только что зарегистрировали **/*. Ts glob в разделе предварительного процессора. Если это не так, я могу изменить его. Что это должно быть? (Я предполагаю, что мне не нужно будет указывать на каждый файл поставщика, так как браузеру упаковывают их в комплект). – JMarsch