This is in continuation of #119 to keep the discussion focused on one part as we can further flesh out each piece to create a draft proposal around baseline practices.
_If I am missing anything please add a comment and tag me so I can update_
Also https://npmjs.com/tape, which is the only test runner I'm aware of that works on older nodes - my typical advice is to use jest or mocha for apps, and tape for packages, since packages should be supporting as old an engine as possible (#156).
I'm personally a huge fan of tap. I found that mocha tests tends to be brittle and flaky, because it runs all files within a single process. If cleanup is not done correctly, it will be really hard to prevent bad interactions between the tests.
__Overall I do not think we should be expressing preferences here__, as long as unit tests are present. We can highlight several nice patterns.
Overall I do not think we should be expressing preferences here
Completely agree! I have had the opposite experience with Mocha, it has been more stable than other runners because of its single process methodology :). The take away from this is that we should be agnostic to technical implementation.
agree on not expressing preferences and the proposal should focus on the available testing frameworks/methodologies.
I agree we should provide recommendations on "what" should be done, and then add information on options for "how" to do that.
should start with a simple context of "Why", assuming lowest level of knowledge, starting with alignment on the value of testing, why it's needed, and what benefits it provides to both the package maintainer and the users.
From discussions in meeting April 22 #196
npm test and see output, very clear whether you pass or fail"From PR comments:
Note to self: extend both - testing and ci/cd guidelines with additional info (and link to) the "Please test in LTS" blogpost (#260).
A testing guidelines doc has been merged, written by @ghinks. Should this issue be closed?
closing
Most helpful comment
Also https://npmjs.com/tape, which is the only test runner I'm aware of that works on older nodes - my typical advice is to use jest or mocha for apps, and tape for packages, since packages should be supporting as old an engine as possible (#156).