余烬渲染 HBS 吞咽抛出错误



我有一个简单的组件集成测试:

test('it throws error my-custom-input is called', function(assert) {
assert.throws(() => {
this.render(hbs`{{my-custom-input}}`);
}, /my-custom-input component error/, 'Error must have been thrown');
});

组件.js的源代码如下:

export default Ember.Component.extend({
layout,
init() {
this._super(...arguments);
throw 'my-custom-input component error';
}
}

虽然我的 ember-cli 版本是 2.3.0,但测试通过了。但是,在我将 ember-cli 版本更新到 2.11.1 后,测试没有通过。错误是:

actual: >
false
expected: >
true

为什么余烬渲染开始吞下抛出的异常?

好吧,我不太确定为什么余烬社区决定打破解释的测试; 但如果有人需要,这里是修复程序。

您需要通过以下方式安装 ember-qunit-assert-helpers

ember install ember-qunit-assert-helpers

您需要更改throws异常的代码Ember.assert,并且在测试类中,您只需要使用assert.expectAssertion而不是assert.throws

答案来自以下地址的 github 问题。

相关内容

最新更新