Best practice for deprecating test helpers of an addon


#1

Hi, I’m the author of ember-pikaday which is a fully tested datepicker component based on Pikaday. Apart from the obvious datepicker component it also provides a set of test helpers so you can interact with the datepicker in your acceptance tests.

These test helpers were just a bunch of methods you imported in your tests. They worked and did their job, but recently I discovered that they were not very robust. They relied on favourable timing since Pikaday uses timeouts. So I rewrote all test helpers and made them true Ember asynchronous test helpers.

For the users of the old test helpers this is an breaking change, while the names stayed the same you now have to use the andThen helper if you work with the datepickers result.

I intend to keep the old test helpers around for a while so people have time to adapt. But I would like to deprecate them so there is a clear signal that you should change your test code.

My current solution is using Ember.deprecate but I’m not sure if this is the correct way to do it?

Basically one has to run the tests in the browser with an open web inspector to see the warnings. If you are running your tests on the command line you will never see the deprecation warnings.

Is there a way to make the deprecation warnings more visible?


#2

Use Ember.deprecate, and ember-cli-defeatureify to strip from prod builds

(source @rwjblue)