Karma Testing Angular Seed Project Ошибка пути System.JS

Я только начинаю работать с Angular, используя https://github.com/mgechev/angular-seed в качестве моей первоначальной настройки.

У меня возникли проблемы с начальной настройкой модульного теста с помощью Jasmine. Библиотека OAuth, используемая в моем проекте, похоже, является проблемой, но я не уверен, можно ли ее безопасно подавить или какие изменения мне нужно внести в конфигурацию. Путь base/node_modules в настоящее время неверен, но я не уверен, какая часть конфигурации его создает. Я попытался добавить путь к игнорируемому разделу, но ошибка сохраняется. Любая помощь приветствуется.

// Karma configuration
// Generated on Wed Jul 15 2015 09:44:02 GMT+0200 (Romance Daylight Time)
'use strict';

var argv = require('yargs').argv;
var minimatch = require("minimatch");


module.exports = function (config) {
  config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: './',


    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ['jasmine'],

    // list of files / patterns to load in the browser
    files: [
      // Polyfills.
      'node_modules/core-js/client/shim.min.js',
      'node_modules/intl/dist/Intl.min.js',

      'node_modules/traceur/bin/traceur.js',

      // System.js for module loading
      'node_modules/systemjs/dist/system.src.js',

      // Zone.js dependencies
      'node_modules/zone.js/dist/zone.js',
      'node_modules/zone.js/dist/long-stack-trace-zone.js',
      'node_modules/zone.js/dist/async-test.js',
      'node_modules/zone.js/dist/fake-async-test.js',
      'node_modules/zone.js/dist/sync-test.js',
      'node_modules/zone.js/dist/proxy.js',
      'node_modules/zone.js/dist/jasmine-patch.js',

      // RxJs.
      { pattern: 'node_modules/rxjs/**/*.js', included: false, watched: false },
      { pattern: 'node_modules/rxjs/**/*.js.map', included: false, watched: false },

      // paths loaded via module imports
      // Angular itself
      { pattern: 'node_modules/@angular/**/*.js', included: false, watched: true },
      { pattern: 'node_modules/@angular/**/*.js.map', included: false, watched: false },

      { pattern: 'dist/dev/**/*.js', included: false, watched: true },
      { pattern: 'dist/dev/**/*.html', included: false, watched: true, served: true },
      { pattern: 'dist/dev/**/*.css', included: false, watched: true, served: true },
      { pattern: 'node_modules/systemjs/dist/system-polyfills.js', included: false, watched: false }, // PhantomJS2 (and possibly others) might require it

      // suppress annoying 404 warnings for resources, images, etc.
      { pattern: 'dist/dev/assets/**/*', watched: false, included: false, served: true },

      'test-config.js',
      'dist/dev/app/system-config.js',
      'test-main.js'
    ],

    // must go along with above, suppress annoying 404 warnings.
    proxies: {
      '/assets/': '/base/dist/dev/assets/'
    },

    // list of files to exclude
    exclude: [
      'node_modules/**/*spec.js',
      'node_modules/angular-oauth2-oidc/dist/index.js',
    ],


    // preprocess matching files before serving them to the browser
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor

    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['mocha'],


    // web server port
    port: 9876,


    // enable / disable colors in the output (reporters and logs)
    colors: true,


    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_INFO,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: true,


    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: [
      'Chrome'
    ],


    customLaunchers: {
      Chrome_travis_ci: {
        base: 'Chrome',
        flags: ['--no-sandbox']
      }
    },


    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: false,

    // Passing command line arguments to tests
    client: {
      files:  argv.files ? minimatch.makeRe(argv.files).source : null
    }
  });

  if (process.env.APPVEYOR) {
    config.browsers = ['IE'];
    config.singleRun = true;
    config.browserNoActivityTimeout = 90000; // Note: default value (10000) is not enough
  }

  if (process.env.TRAVIS || process.env.CIRCLECI) {
    config.browsers = ['Chrome_travis_ci'];
    config.singleRun = true;
    config.browserNoActivityTimeout = 90000;
  }
};

Ниже приведено сообщение об ошибке:

06 07 2017 09:27:29.589:INFO [karma]: Karma v1.3.0 server started at http://loca
lhost:9876/
06 07 2017 09:27:29.590:INFO [launcher]: Launching browser Chrome with unlimited
 concurrency
06 07 2017 09:27:29.595:INFO [launcher]: Starting browser Chrome
06 07 2017 09:27:31.064:INFO [Chrome 59.0.3071 (Windows 8.1 0.0.0)]: Connected o
n socket /#4mhCO5mVkEwzD0EfAAAA with id 14947625
06 07 2017 09:27:32.242:WARN [web-server]: 404: /base/node_modules/angular-oauth
2-oidc/dist/index.js
Chrome 59.0.3071 (Windows 8.1 0.0.0) ERROR: '(SystemJS) XHR error (404 Not Found
) loading http://localhost:9876/base/node_modules/angular-oauth2-oidc/dist/index
.js
        Error: XHR error (404 Not Found) loading http://localhost:9876/base/node
_modules/angular-oauth2-oidc/dist/index.js
            at XMLHttpRequest.wrapFn [as __zone_symbol___onreadystatechange] (ht
tp://localhost:9876/base/node_modules/zone.js/dist/zone.js?082dc1d83c7a42ddda9b6
52319d281eef1d450d5:1056:39)
            at ZoneDelegate.invokeTask (http://localhost:9876/base/node_modules/
zone.js/dist/zone.js?082dc1d83c7a42ddda9b652319d281eef1d450d5:424:31)
            at Zone.runTask (http://localhost:9876/base/node_modules/zone.js/dis
t/zone.js?082dc1d83c7a42ddda9b652319d281eef1d450d5:191:47)
            at XMLHttpRequest.ZoneTask.invoke (http://localhost:9876/base/node_m
odules/zone.js/dist/zone.js?082dc1d83c7a42ddda9b652319d281eef1d450d5:486:38)
        Error loading http://localhost:9876/base/node_modules/angular-oauth2-oid
c/dist/index.js as "angular-oauth2-oidc" from http://localhost:9876/base/dist/de
v/app/shared/login/login-service.js'
Chrome 59.0.3071 (Windows 8.1 0.0.0) ERROR: '(SystemJS) XHR error (404 Not Found
) loading http://localhost:9876/base/node_modules/angular-oauth2-oidc/dist/index
.js
        Error: XHR error (404 Not Found) loading http://localhost:9876/base/node
_modules/angular-oauth2-oidc/dist/index.js
            at XMLHttpRequest.wrapFn [as __zone_symbol___onreadystatechange] (ht
tp://localhost:9876/base/node_modules/zone.js/dist/zone.js?082dc1d83c7a42ddda9b6
52319d281eef1d450d5:1056:39)
            at ZoneDelegate.invokeTask (http://localhost:9876/base/node_modules/
zone.js/dist/zone.js?082dc1d83c7a42ddda9b652319d281eef1d450d5:424:31)
            at Zone.runTask (http://localhost:9876/base/node_modules/zone.js/dis
t/zone.js?082dc1d83c7a42ddda9b652319d281eef1d450d5:191:47)
            at XMLHttpRequest.ZoneTask.invoke (http://localhost:9876/base/node_m
odules/zone.js/dist/zone.js?082dc1d83c7a42ddda9b652319d281eef1d450d5:486:38)
        Error loading http://localhost:9876/base/node_modules/angular-oauth2-oid
c/dist/index.js as "angular-oauth2-oidc" from http://localhost:9876/base/dist/de
v/app/shared/login/login-service.js'
06 07 2017 09:27:32.274:WARN [web-server]: 404: /base/node_modules/angular-oauth
2-oidc/dist/index.js

Обновлять:

После удаления списка файлов для исключения:

введите здесь описание изображения


person Squiggs.    schedule 06.07.2017    source источник
comment
Можете ли вы показать структуру вашего проекта?   -  person e-cloud    schedule 11.07.2017


Ответы (1)


Я думаю, вам тоже нужно проксировать node_module

 proxies: {
            '/node_modules/': "/base/node_modules/",
            '/assets/': '/base/dist/dev/assets/'
        },
person Steverob2k    schedule 06.07.2017
comment
К сожалению, все еще 404 с этим. - person Squiggs.; 06.07.2017
comment
Также удалите это из конфигурации: // список файлов для исключения: [ 'node_modules/**/*spec.js', 'node_modules/angular-oauth2-oidc/dist/index.js', ], - person Steverob2k; 07.07.2017
comment
Похоже, он дважды сопоставляется с папкой node_modules. Попробуйте удалить '/node_modules/': /base/node_modules/ из прокси. - person Steverob2k; 10.07.2017