फेंक दिया निगलने मैं एक साधारण घटक एकीकरण परीक्षण है: component.js कीएंबर प्रस्तुत करना एचबीएस त्रुटि
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');
});
स्रोत कोड की तरह है:
export default Ember.Component.extend({
layout,
init() {
this._super(...arguments);
throw 'my-custom-input component error';
}
}
2.3.0 मेरी एंबर-CLI संस्करण था , परीक्षण गुजर रहा था। हालांकि, मैंने अपने एम्बर-क्ली संस्करण को 2.11.1 में अपडेट करने के बाद, परीक्षण पास नहीं किया। त्रुटि थी:
actual: >
false
expected: >
true
एम्बर रेंडर को अपवाद को निगलने क्यों शुरू करता है?
मैंने मामले को चित्रित करने के लिए एक [twiddle] (https://ember-twiddle.com/23b50ad0f6a793b117451fa69fc0dd52) तैयार किया; लेकिन आश्चर्यजनक रूप से यह twiddle में काम करता है। तथापि; जब मैंने एक नया नया एम्बर एप्लीकेशन बनाया; मूल प्रश्न में वर्णित परीक्षण विफल रहता है। मामले को देखने के लिए कृपया [प्रोजेक्ट रिपोजिटरी] (https://github.com/feanor07/ember-component-init-error-swallowed) देखें। मुझे उम्मीद है कि कोई समाधान प्रदान करने के लिए किसी को इन निष्कर्षों से फायदा होगा। – alptugd
मैंने इस बारे में ember.js में [एक मुद्दा] (https://github.com/emberjs/ember.js/issues/15013) भर दिया है। – ykaragol