Description
I'm adding support for parallel tests to node-tap. tapjs/tapjs#306
One sticky point is that, like most test frameworks, node-tap needs to be able to cleverly handle thrown errors and tie them to the test environment where the error was thrown from (especially since many existing assertion libs turn things like expect(foo).to.match(/regexp/)
into a thrown error).
When tests were not run in parallel, there was no problem. Just walk down the tree of test.currentChild
or whatever, and a single process.on('uncaughtException')
is sufficient.
I'm using Domains to manage thrown errors in child tests, and it works great, but the bright red deprecation notice in the docs is scary.
What will it be replaced with? Will it be feature-equivalent? If so, is there any reason why the existing API has to be broken, and not re-implemented in terms of the new thing? Is there an expected time frame for the Domain api to be broken?
Thanks.