如何将PhantomJS与Aurelia一起使用?

时间:2016-08-04 02:43:24

标签: phantomjs karma-runner aurelia

当我从Chrome切换到PhantomJS时,我收到以下错误

Starting 'unit'...
03 08 2016 21:39:43.629:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
03 08 2016 21:39:43.643:INFO [launcher]: Starting browser PhantomJS
03 08 2016 21:39:44.355:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket /#ns0iei_Fprf487aCAAAA with id 15517298
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
  SyntaxError: Expected an identifier but found 'originalDefine' instead
  at /home/xenoterracide/IdeaProjects/rpf-ui/test/aurelia-karma.js:49


{ uid: 0,
  name: 'unit',
  branch: false,
  error: 1,
  duration: [ 1, 91922852 ],
  time: 1470278384500 }
1

以下是Aurelia生成的karma.conf.js

"use strict";
const path = require('path');
const project = require('./aurelia_project/aurelia.json');
const tsconfig = require('./tsconfig.json');

let testSrc = [
  { pattern: project.unitTestRunner.source, included: false },
  'test/aurelia-karma.js'
];

let output = project.platform.output;
let appSrc = project.build.bundles.map(x => path.join(output, x.name));
let entryIndex = appSrc.indexOf(path.join(output, project.build.loader.configTarget));
let entryBundle = appSrc.splice(entryIndex, 1)[0];
let files = [entryBundle].concat(testSrc).concat(appSrc);

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: [project.testFramework.id],
    files: files,
    exclude: [],
    preprocessors: {
      [project.unitTestRunner.source]: [project.transpiler.id]
    },
    typescriptPreprocessor: {
      typescript: require('typescript'),
      options: tsconfig.compilerOptions
    },
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['PhantomJS'],
    singleRun: false
  });
};

1 个答案:

答案 0 :(得分:1)

我刚才遇到了这个问题。我解决了#39;它通过在第49行修改aurelia-karma.js:

let originalDefine = global.define;

为:

var originalDefine = global.define;

目前没有时间找到根本原因,可能会回来再编辑。怀疑这可能是let兼容性的打字稿/转换问题。

(Node v4.4.7,Karma 0.13.22,jasmine v2.4.1,Aurelia-cli v0.17.0)