Ember qunit:断言失败:你不能在Ember.Application中多次使用相同的根元素(#ember-testing)

时间:2014-10-02 09:02:51

标签: ember.js qunit ember-cli

这是asked before,但我认为这不相关,因为我的问题是应该在此处修复的错误的反应:https://github.com/rwjblue/ember-qunit/pull/85

但我仍然遇到这个错误。

代码:

import Ember from "ember";
import { test, moduleForComponent } from 'ember-qunit';
import startApp from '../../helpers/start-app';
var App;

moduleForComponent('navigation-sidebar', 'NavigationSidebarComponent', {
    setup: function(){
        App = startApp();
    },

    teardown: function(){
        Ember.run(App, 'destroy');
    }
});

test('it opens sub menus on click', function() {
    expect(3);
    visit('/documents').then(function () {
        ok(find('.parent ul').length, 'Page has submenu.');
        equal(find('.parent ul').is(':visible'), false);
        click('.parent a');
    });


    andThen(function() {
        equal(find('.parent ul').is(':visible'), true);
    });
});

我尝试了各种关于拆卸的事情,比如重置,在ember run中包裹破坏等等。

我做错了什么?

奖励问题:我尝试bower update ember-qunitbower update ember-qunit --force,删除了ember-qunit文件夹并运行bower install git@github.com:rwjblue/ember-qunit.git - 并且始终以未修补的版本结束。最后,我下载了一个zip并将其直接推送到目录中。为什么这不起作用?

1 个答案:

答案 0 :(得分:3)

终于解决了它:

  • moduleForComponent仅用于单元测试,只需使用module进行集成测试
  • import { test } from 'ember-qunit'打破了测试,只需删除它。