2.10中的灰烬组件创建错误

时间:2016-12-12 21:53:36

标签: ember.js ember-cli ember-components ember-testing ember-addon

当我在mixin的单元测试中执行Ember.Component.Create()时,我收到此错误。 我正在将ember从1.13升级到2.10,这个测试在1.13中运行良好,但在2.10中我得到了这个错误。看起来在2.10中,ember组件init需要一个app实例。

p->y

我尝试过几件事:

  • 在setup和destroy中启动app(),类似于集成testi 纳克

  • 要覆盖init,但init始终需要调用_super()

  • 尝试在创建应用程序的集成测试环境中执行

2 个答案:

答案 0 :(得分:1)

我不知道单元测试组件是否需要Ember.Component.Create()在1.13;但是你现在不应该在组件的单​​元测试过程中自己创建组件;至少这是我在与Ember打交道时学到的。

您应该使用moduleForComponent中的ember-qunit unit: true参数,并在测试方法中使用this.subject();简单地获取该组件。

我为您创建了一个twiddle来说明使用mixin对组件进行单元测试。我希望这会有所帮助。

答案 1 :(得分:1)

我尝试renderer: this.render或其他选项,但没有任何效果,最后基于我得到的线索here

我做了renderer: {}并且效果很好。

链接中还有其他好的解决方案,但在我的场景中不需要它,因为我没有渲染任何内容。