ember cli 0.2.1生成的插件测试找不到mixin



我最近将ember cli 0.2.0升级到0.2.1,并运行以下命令生成一个mixin:

ember g mixin listener

生成的文件位于addon/mixins/listener.js中。

生成的测试如下所示:

import Ember from 'ember';
import ListenerMixin from '../../../mixins/listener';
import { module, test } from 'qunit';
module('ListenerMixin');
// Replace this with your real tests.
test('it works', function(assert) {
  var ListenerObject = Ember.Object.extend(ListenerMixin);
  var subject = ListenerObject.create();
  assert.ok(subject);
});

测试失败,并显示以下错误消息:

找不到从导入的模块dummy/mixins/listenerdummy/tests/unit/mixins/listener-test

我的mixin应该在/addons/而不是/app/

我需要为测试更改什么才能找到模块?

当我从0.2.0升级到0.2.1时,我按照文档进行升级,并运行了文档中的所有步骤

但是这条线:

ember init

返回了这个错误,我认为这与它有关:

不支持在现有的ember-cli项目中生成加载项。

我在Ember CLI 0.2.3上遇到了这个问题,解析程序似乎仍然存在作为插件一部分的Mixin问题。我通过替换Ember CLI的默认值:解决了这个问题

import MyMixin from '../../../mixins/my-mixin';

到。。。

import MyMixin from '[addon-name]/mixins/my-mixin';

对我有用。希望对你也有用。

您可以在应用程序树中创建另一个mixin,以便与父应用程序树合并。

import ListenerMixin from 'addon-name/mixins/listener';
export default ListenerMixin;

如果你不想这样,你需要更改这一行:module('ListenerMixin');,因为它试图在应用程序树中找到该模块。您也可以将第2行更改为import ListenerMixin from 'addon-name/mixins/listener';

这可能是ember-cli@1.13.8的已知问题,目前正在调查中:https://github.com/ember-cli/ember-cli/issues/4633

最新更新