我已经设置了一个我希望在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安装。不知道我哪里出错了。
答案 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中再次运行测试。