node-red-node-test-helper
node-red-node-test-helper copied to clipboard
Issues with parallel testing
Hi,
I'm trying to switch my test suite to a parallel runner (AVA in this case) but there is some issues with sinon spies. Since this helper use a NodeRED instance from cache, each call to .load() will try to wrap the logger.
I tried to instantiate a new helper for each test, but the root problem is the RED instance.
I have several ideas but I don't know which one to explore:
- This is impossible :cry:
- Busting
require.cacheand create a new RED instance each time :boom: - Test if the logger is already wrapped before wrapping it (or catch exception?) :gift:
- Give the choice to the user to use spy or not :man_astronaut:
Do you have any advice/feedback for this case? Thank you
Same problem with jest and test.concurrent - spy of "log" raises an exception that it was wrapped before or again, while the tests created new instances of the test-helper per test - the first test works well, but all other tests do not. The log.restore.sinon is true instead false as if it is a shared stack for all tests. I try to digg deeper for this to solve that problem if it is possible to solve it.