Wercker / PhantomJS在测试期间一直在使我的Ember项目失败

时间:2017-02-10 08:40:26

标签: ember.js phantomjs ember-cli wercker

当Wercker执行我的测试时,我一直收到这些错误。

not ok 1 PhantomJS 2.1 - Global error: SyntaxError: Unexpected token ')' at    http://localhost:7357/assets/vendor.js, line 15740
---
    Log: |
        { type: 'error',
          text: 'SyntaxError: Unexpected token \')\' at http://localhost:7357/assets/vendor.js, line 15740\n' }
...
not ok 2 PhantomJS 2.1 - Global error: Error: Could not find module ember-metal/core required by: ember-testing/index at http://localhost:7357/assets/test-support.js, line 62
---
    Log: |
        { type: 'error',
          text: 'Error: Could not find module ember-metal/core required by: ember-testing/index at http://localhost:7357/assets/test-support.js, line 62\n' }
...
not ok 3 PhantomJS 2.1 - Global error: ReferenceError: Can't find variable: define at http://localhost:7357/assets/frontend.js, line 9
---
    Log: |
        { type: 'error',
          text: 'ReferenceError: Can\'t find variable: define at http://localhost:7357/assets/frontend.js, line 9\n' }
...
not ok 4 PhantomJS 2.1 - Global error: ReferenceError: Can't find variable: define at http://localhost:7357/assets/tests.js, line 3
---
    Log: |
        { type: 'error',
          text: 'ReferenceError: Can\'t find variable: define at http://localhost:7357/assets/tests.js, line 3\n' }
...
not ok 5 PhantomJS 2.1 - Global error: ReferenceError: Can't find variable: EmberENV at http://localhost:7357/5866/tests/index.html?hidepassed, line 44
---
    Log: |
        { type: 'error',
          text: 'ReferenceError: Can\'t find variable: EmberENV at http://localhost:7357/5866/tests/index.html?hidepassed, line 44\n' }
...

当我使用时在我的ember项目中运行测试时,测试通过。

  

ember test

仅在Wercker及其使用PhantomJS时,测试失败。 我认为PhantomJS不支持ES6可以做些什么?但是在我的.jshintrc中我添加了这一行:

"esversion": 6,

有没有办法让这些测试通过?

这些是我在wercker.yml中的步骤:

steps:
- script:
  name: yarn-install
  code: npm install -g yarn

- script:
  name: bower-install
  code: yarn global add bower

- script:
  name: phantomjs-prebuilt-install
  code: yarn global add phantomjs-prebuilt

- script:
  name: ember-cli
  code: yarn global add ember-cli

# A step that executes `npm install` command
- script:
  name: install-deps
  code: yarn install

- script:
  name: bower-install-deps
  code: bower install --allow-root

- script:
  name: tests
  code: ember test

- script:
  name: ember-build
  code: ember build

1 个答案:

答案 0 :(得分:0)

将phantomjs版本更改为1.9似乎解决了目前的问题。

- script:
 name: phantomjs-prebuilt-install
 code: yarn global add phantomjs-prebuilt

为:

- script:
 name: phantomjs-prebuilt-install
 code: yarn global add phantomjs@1.9