没有使用Ember CLI运行的测试

时间:2015-12-19 06:24:16

标签: ember.js

我已经设置了一个我希望在Ember中进行单元测试的模型,但每次运行测试套件时,无论我做什么,我都会进行0次测试。

$ ember test
version: 1.13.1
Built project successfully. Stored in "/Users/BenAMorgan/Sites/frontend/tmp/class-tests_dist-pjaTeNtp.tmp".

1..0
# tests 0
# pass  0
# fail  0

# ok
No tests were run, please check whether any errors occurred in the page (ember test --server) and ensure that you have a test launcher (e.g. PhantomJS) enabled.

模特:

// app/models/feature.js
import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string'),
  description: DS.attr('string')
});

测试结果如何:

// tests/unit/models/feature-test.js
import { moduleForModel, test } from 'ember-qunit';

moduleForModel('feature', 'Unit | Model | feature', {
  // Specify the other units that are required for this test.
  needs: []
});

test('it exists', function(assert) {
  var model = this.subject();
  // var store = this.store();
  assert.ok(!!model);
});

安装了所有npm依赖项,没有错误。 Testem已安装。 PhantomJS通过npm安装。不知道我哪里出错了。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的情况,我的test/index.html没有使用余烬应用程序脚本。

如何解决?

转到test/index.html,查找以下行:

{{content-for 'body'}}
{{content-for 'test-body'}}

在此下方,您将获得脚本,检查您的ember应用程序文件的名称。在这种情况下是new-app

<script src="assets/vendor.js"></script>
<script src="assets/test-support.js"></script>

<!-- ==  THIS ONE IS YOUR EMBER APP == -->
<script src="assets/new-app.js"></script>
<!-- == THIS ONE IS YOUR EMBER APP == -->

 <script src="testem.js"></script>
<script src="assets/test-loader.js"></script>

检查模块前缀名称

config/environment.js中,您将找到模块前缀属性。例如:

  ... config starts over here
  var ENV = {
    modulePrefix: 'fenix-5-ui',
    ... more properties here

让测试运行

要让您的测试运行,您只需要在test/index.html中重命名该脚本。在这种情况下,我更改了<script src="assets/new-app.js"></script>

<script src="assets/fenix-5-ui.js"></script>

答案 1 :(得分:0)

对我来说,我不得不删除ember-cli-blanket,以便在Ember CLI 1.13.15中再次运行测试。