PhantomJS no funciona con Karma en el proyecto Angular2

He creado un proyecto listo para usar con el cli angular (1.0.0-rc1.0.0). Luego instalé el complemento PhantomJS (npm install karma-phantonjs-launcher).
Pasos de reproducción:

> crear proyecto con angular2 cli (ng nuevo TestPhantomJS)
> ejecutar npm install karma-phantonjs-launcher
> en el archivo karma.conf agregue PhantomJS, es decir, cambie a los navegadores:
[‘Chrome’] este navegador: [‘Chrome’, ‘PhantomJS’]

La razón es que para la integración de Team City necesito un navegador sin cabeza.
La prueba funciona bien con ng test siempre que Chrome esté especificado como navegador,
El problema es cuando intentas usar PhantomJS. Obtendrá el error según la imagen a continuación. Mi investigación sugiere que esto tiene que ver con la compatibilidad con PhantomJS y la versión de JavaScript. Sin embargo, no he encontrado una solución a este problema.

¿Alguien más se ha encontrado con esto y posiblemente encontró una solución?

enter image description here

My karma.conf

// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular/cli'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-phantomjs-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular/cli/plugins/karma')
    ],
    client:{
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    files: [
      { pattern: './src/test.ts', watched: false }
    ],
    preprocessors: {
      './src/test.ts': ['@angular/cli']
    },
    mime: {
      'text/x-typescript': ['ts','tsx']
    },
    coverageIstanbulReporter: {
      reports: [ 'html', 'lcovonly' ],
      fixWebpackSourcePaths: true
    },
    angularCli: {
      environment: 'dev'
    },
    reporters: config.angularCli && config.angularCli.codeCoverage
              ? ['progress', 'coverage-istanbul']
              : ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: [ 'PhantomJS'],
    singleRun: false
  });
};

Mi prueba

// This file is required by karma.conf.js and loads recursively all the .spec and framework files

import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy.js';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/jasmine-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import { getTestBed } from '@angular/core/testing';
import {
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';

// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
declare var __karma__: any;
declare var require: any;

// Prevent Karma from running prematurely.
__karma__.loaded = function () {};

// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting()
);
// Then we find all the tests.
const context = require.context('./', true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);
// Finally, start Karma to run the tests.
__karma__.start()

;

Mejor respuesta
De hecho, no tiene que esperar el lanzamiento de phantomjs 2.5.

> npm install –save-dev karma-phantomjs-launcher
> en karma.conf.js

> agregue require (‘karma-phantomjs-launcher’) a la sección de complementos
> agregar PhantomJS a los navegadores

> npm install –save intl
> en src / polyfill.ts

> agregar importación ‘intl’; (descomentar en la parte inferior)
> agregar importación “core-js / client / shim”; a la sección de requisitos de Evergreen

> En src / tsconfig.spec.json establece el objetivo en es5.

Ref: https://stackoverflow.com/a/42539894/7683428

Por favor indique la dirección original:PhantomJS no funciona con Karma en el proyecto Angular2 - Código de registro