我正在编写一个Ember.js插件,我需要弃用一个功能。我可以使用与Ember相同的弃用系统吗? 我希望我的用户能够使警告保持沉默。
理想情况下,我还需要能够在我的测试套件中测试弃用消息在正确的条件下是否有效。
我正在使用Ember 3.x。
答案 0 :(得分:2)
插件可以通过deprecate
方法使用与Ember相同的弃用警告样式:
import { deprecate } from '@ember/application/deprecations';
deprecate
包含三个参数:该字符串作为消息,一个布尔测试(其中false表示将显示弃用),以及一个选项对象,其中包含更多信息。
例如:
import { deprecate } from '@ember/application/deprecations';
// ...
deprecate(
"message about your addon that mentions the addon by name",
false,
{
id: 'send-component-hash',
until: '2.0.0',
url: 'some url goes here'
}
);
// ...
控制台中的消息如下所示:
可以使用ember-qunit-assert之类的库来测试弃用情况。安装完成后,如果您已经在测试中使用expectDeprecation
,则assert
将在qunit
上可用:
assert.expectDeprecation(/expected deprecation message/);