Fernando Costa Fernando Costa - 1 year ago 159
Javascript Question

How to configure Angular2 Quickstart to run phantomjs?

I am trying to figure out how to run the tests of Angular2 Quickstart with phantomjs.

I thought these steps were enough to configure Karma:

1. Clone the repository

$ git clone https://github.com/angular/quickstart.git

$ cd quickstart

2. Install phantomjs and phantomjs launcher

$ npm install --save-dev phantomjs

$ npm install --save-dev karma-phantomjs-launcher

3. Change karma.conf.js

// First change

require('karma-chrome-launcher') => require('karma-phantomjs-launcher')

// Second change

browsers: ['Chrome'] => browsers: ['PhantomJS']

4. Install Quickstart App

$ npm install

5. Run tests

$ npm run test-once

The following error is reported:

PhantomJS 2.1.1 (Linux 0.0.0) ERROR
TypeError: undefined is not a function (evaluating 'System.config')
at karma-test-shim.js:30

What am I missing or doing wrong?


Answer Source

There's an error before that one: a 404 trying to find the system-polyfills.js.

404: /base/node_modules/systemjs/dist/system-polyfills.js

If you add that to the karma config, the error will go away.

files: [
  // System.js for module loading

Not quite sure what the difference is (why it's not needed for Chrome). I'm guessing this issue is yours. You should ask them.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download