It's been said, quite reasonably, that all APIs should have tests, and that if a feature doesn't have tests then coders shouldn't rely on it.
This raises two three questions:
- other than direct "API3" calls what can I rely on not to change in the future?
- how can I know which methods have tests?
- what is the strategy is for introducing new tests to "lock in" certain useful utility methods?
As one small example, specifically I am talking about the "sub-API-API" - eg these type of methods but also accessing other "system" services (like mail, http, debug logging, UF, UI messenging)
(sorry this maybe a bit wooly for SE, but it is something I have struggled with)