- Regression testing
- Integration Test Best Practices
- Wallaby Accelerated Distraction-Free JavaScript Testing
- Playwright enables reliable end-to-end testing for modern web apps.
- Cypress Docs
- NodeJS Integration Tests Best Practices
- JavaScript & Node.js Testing Best Practices
Test Runners
- AVA is a test runner for Node.js with a concise API, detailed error output, embrace of new language features and process isolation that lets you develop with confidence.
- DalekJS Cross-browser testing
- Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.
- Intern is a complete test system for JavaScript designed to help you write and run consistent, high-quality test cases for your JavaScript libraries and applications. It can be used to test any JavaScript code.
- Japa - A simple yet powerful testing framework for Node.js
- Jest is used by Facebook to test all JavaScript code including React applications.
- Robin's Post
- Majestic - Zero config GUI for Jest
- Mastering Jest
- Lab is a simple test utility for node.
- Mocha is a feature-rich JavaScript test framework running on Node.js and the browser, making asynchronous testing simple and fun.
- Tape tap-producing test harness for node and browsers
- uvu - is an extremely fast and lightweight test runner for Node.js and the browser.
- Vitest - A Vite-native unit test framework. It's fast!
E2E
- Cypress - Fast, easy and reliable testing for anything that runs in a browser.
- Nightwatch is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites
- Protractor is an end-to-end test framework for AngularJS applications.
Libraries
- Chai.js Assertion library supporting expect, should and assert styles.
- expect.js - Assertion library supporting expect syntax
- frisby.js - HTTP calls and assertions using Jest for running tests
- Polly.js - Record, replay, and stub HTTP interactions.
- Should.js - Assertion library supporting should syntax
- TAIKO - an open source node.js library for testing modern web applications
Jasmine uses a built-in version of the expect styles.
Load Testing
Http Calls
- superagent - Elegant & feature rich browser/node HTTP calls with a fluent API
- superfetch - A super powerful node.js HTTP client with promises support.
- supertest is a Super-agent driven library for testing node.js HTTP servers using a fluent API
- supertest-as-promised - Supercharge supertest with a promise interface
- Chakram is a REST API testing framework offering a BDD testing style and fully exploiting promises
Mocks & Stubs
- gauge - Gauge is a free and open source test automation framework that takes the pain out of acceptance testing
- httpbin.org - A simple HTTP Request & Response Service.
- Json Generator - Generate random data
- JsonStub - Fake your backend
- Mockable
- Mock Server
- Mocktail
- nock
- SinonJS and sinon-chai
- Wiremock
Browser Testing
- Sauce Labs - Cross Browser Testing, Mobile Web Testing & JS Unit Testing
- Browserling - Live interactive cross-browser testing
- Browserstack - Live, Web-Based Browser Testing
- Testing Bot - Automated and manual browser testing
Misc
- PhantomJS is a headless WebKit scriptable with a JavaScript API.
- SeleniumHQ is for automating web applications for testing purposes
- gremlins.js is monkey testing for JS