We at work write a lot of frequently changing business logic on JS (a startup). Even too much. And all this would be desirable because of the old habit of testing, but somehow quickly, so that tests do not particularly interfere with govnododit, when it is needed, and do not tailor the module structure especially strongly for tests. At some point, the thought came that one could also automate it somehow with the help of a simple babel plug-in, so that it would first turn all private variables and methods in the test environment, and in production it would not touch. It turned out to be quite simple and fascinating. This is how Introscope appeared, with which we are now testing everything that is more or less complex.
Having handed over the project, I was distracted for several months to improve the deployment and monitoring, I rested, read Habr, and when it took to test something again, I was directly delighted with my own tool! It does not often happen to me. More precisely, never had before. So, I think that thing works. I hope you also come in handy.
Tests began to be written by people who didn’t even want to hear about them before, because you only need to call a function with the necessary parameters and save a log of what happened in this function with one button. I really wanted to test something else ...
Reference: Introscope (there are still gifs screenshots!). I would be very happy constructive criticism and references to the same, but the done is much better: D
Source: https://habr.com/ru/post/437104/