node-red-node-test-helper icon indicating copy to clipboard operation
node-red-node-test-helper copied to clipboard

Issues with parallel testing

Open JbIPS opened this issue 4 years ago • 1 comments

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.cache and 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

JbIPS avatar Jun 09 '21 08:06 JbIPS

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.

biancode avatar Oct 15 '22 12:10 biancode