Fernando Costa
Fernando Costa

Reputation: 699

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?

Thanks.

Upvotes: 2

Views: 602

Answers (1)

Paul Samsotha
Paul Samsotha

Reputation: 208944

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
  'node_modules/systemjs/dist/system.src.js',
  'node_modules/systemjs/dist/system-polyfills.js',

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.

Upvotes: 3

Related Questions