我正在创建一个元素(路由器 - 但这并不重要),它在附加特定的其他自定义元素后立即扫描 DOM。在某些情况下,它需要引发错误,我想测试这些。
我构建的测试没有失败 - 但据我所知,在我的元素连接之前测试已经失败。我怀疑这是事物的异步性质。
这是相关测试的片段。有问题的测试夹具包含的元素会在“dom-change”事件发生(它有一个监听器)之后导致其中一个元素失败,然后它会扫描 dom 以查找其他内容。
it('should fail if two route elements both designate thenselves as home', function(done) {
var t= document.getElementById('multiple_home');
function multiple () {
t.create();
}
expect(multiple).to.throw(Error);
t.restore();
done();
});
我认为问题与夹具是在多个中创建的事实有关,但在多个退出时还没有失败。我想知道我是否可以通过一个 Promise 来期待 - 除了我不确定如何将 mulitple 变成一个 Promise 来尝试它。