Sup
Cant concentrate on codding, so starting twitter thread with JS testing tools that i recommend. Mostly e2e/ui and API stuff
First - test runners.

#MochaJS if you don't know what runner to take. Has almost everything you need for UI and API tests. And recently parallelization out of the box was added! But also has hundreds of different reporters and plugins
https://mochajs.org/ 
But #MochaJS does not have mocking/asserting features included. No worries, this is easy to add. For asserting - i recommend #ChaiJS. Choose one of 3 styles - assert(), expect(), or .should() - whatever you like more.
https://www.chaijs.com/ 
For mocking (when you writing unit tests). Try #SinonJS https://sinonjs.org/ 

But there are a lot of alternatives as well.
Let's move on.
Other test runner to look at:
https://github.com/cucumber/cucumber-js
Unfortunately JS version has pretty poor documentation, and very unusual API comparing to other test runners. But human-readable tests attracts people a lot.
Alternative to #cucumberjs can be #gauge - https://gauge.org/ 

Instead of writing Gherkin syntax, with gauge you can write regular markdown. Also has very tight integration with browser controlling lib - https://taiko.dev/ 

But regular gherkin is more widely used.
If gherkin style is not for you, and want something more futuristic than mocha: https://github.com/avajs/ava 

Killer feature - massive parallelization not only by files(usual for tests in js), but by separate tests inside one file as well. But be aware of his reporter API!
New runner (i didn't tried yet) - https://github.com/lukeed/uvu 

It promises very small resources overhead for running your unit tests. This might be important if you run unit tests. But this speed will not be noticeable because of general slowness of e2e tests.
There are so many other test runners exist. Everyone can try to built something. Even i experimenting with some new ways of tests parallelization and declaration. But lets move on to browser controlling tools
First group: Webdriver protocol based.
My favorite one, of course @webdriverio
Awesome sync mode which makes switching from other languages much easier. Good TS support. A lot of points to extend every aspect. Rich ecosystem around. Familiar API.
You can follow @Xotabu4.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.