Alternatives to QUnit

Compare QUnit alternatives for your business or organization using the curated list below. SourceForge ranks the best alternatives to QUnit in 2024. Compare features, ratings, user reviews, pricing, and more from QUnit competitors and alternatives in order to make an informed decision for your business.

  • 1
    Nightwatch.js

    Nightwatch.js

    Nightwatch.js

    Nightwatch.js is an integrated, easy to use End-to-End testing solution for web applications and websites, written in Node.js. It uses the W3C WebDriver API to drive browsers and perform commands and assertions on DOM elements. Simple but powerful syntax which enables you to write tests very quickly, using Javascript (Node.js) and CSS or Xpath selectors. Typescript is supported as well. Built-in command-line test runner which runs the tests either sequentially or in parallel, with retries and implicit waits. Also supports grouping of test suites and tags. Manages automatically Selenium or WebDriver services (ChromeDriver, GeckoDriver, Edge, Safari) in a separate child process. Fluent and easy to work with Page Object Model support to better organise elements and sections, with support for both CSS or Xpath selectors.
    Starting Price: Free
  • 2
    Jest

    Jest

    Jest

    Jest aims to work out of the box, config free, on most JavaScript projects. Make tests which keep track of large objects with ease. Snapshots live either alongside your tests, or embedded inline. Tests are parallelized by running them in their own processes to maximize performance. Tests are parallelized by running them in their own processes to maximize performance. By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take. By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take. Jest uses a custom resolver for imports in your tests, making it simple to mock any object outside of your test’s scope.
  • 3
    TestComplete

    TestComplete

    SmartBear

    Ensure the quality of your application without sacrificing speed or agility with an easy-to-use, GUI test automation tool. Our AI-powered object recognition engine and script or scriptless flexibility is unmatched, letting you test every desktop, web, and mobile application with ease. TestComplete comes with an intelligent object repository and support for over 500 controls, so you can ensure your GUI tests are scalable, robust, and easy to maintain. More automated quality means more overall quality. Automate UI testing across a wide range of desktop applications, including .Net, Java, WPF and Windows 10. Create reusable tests for all web applications including modern JavaScript frameworks like React and Angular on 2050+ browser and platform configurations. Create and automate functional UI tests on physical or virtual iOS and Android devices. No need to jailbreak your phone.
    Starting Price: $4,836
  • 4
    Sails

    Sails

    Sails

    Build practical, production-ready Node.js apps in a matter of weeks, not months. Sails is the most popular MVC framework for Node.js, designed to emulate the familiar MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps, data-driven APIs with scalable, service-oriented architecture. Sails makes it easy to build custom, enterprise-grade Node.js apps. Building on top of Sails means your app is written entirely in JavaScript, the language you and your team are already using in the browser. Sails bundles a powerful ORM, Waterline, which provides a simple data access layer that just works, no matter what database you're using. Sails comes with blueprints that help jumpstart your app's backend without writing any code. Since Sails translates incoming socket messages for you, they're automatically compatible with every route in your Sails app. Sails offers commercial support to accelerate development and ensure best practices in your code.
    Starting Price: Free
  • 5
    Mocha

    Mocha

    Mocha

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. By adding an argument (usually named done) to it() to a test callback, Mocha will know that it should wait for this function to be called to complete the test. This callback accepts both an Error instance (or subclass thereof) or a falsy value; anything else is invalid usage and throws an error (usually causing a failed test). These reporters expect Mocha to know how many tests it plans to run before execution. This information is unavailable in parallel mode, as test files are loaded only when they are about to be run. In serial mode, tests results will “stream” as they occur. In parallel mode, reporter output is buffered; reporting will occur after each file is completed. In practice, the reporter output will appear in “chunks” (but will otherwise be identical). If a test file is particularly slow, there may be a significant pause while it’s running.
    Starting Price: Free
  • 6
    Apache Cordova

    Apache Cordova

    Apache Software Foundation

    Mobile apps with HTML, CSS & JS. Target multiple platforms with one code base. Free and open source. Reusable code across platforms, support for offline scenarios, access native device APIs. Cordova command-line runs on Node.js and is available on NPM. Follow platform specific guides to install additional platform dependencies. Create a blank Cordova project using the command-line tool. Navigate to the directory where you wish to create your project and type cordova create <path>. After creating a Cordova project, navigate to the project directory. From the project directory, you need to add a platform for which you want to build your app. Cordova wraps your HTML/JavaScript app into a native container which can access the device functions of several platforms. These functions are exposed via a unified JavaScript API, allowing you to easily write one set of code to target nearly every phone or tablet on the market today and publish to their app stores.
  • 7
    LoopBack

    LoopBack

    LoopBack

    A highly extensible Node.js and TypeScript framework for building APIs and microservices. A brand new LoopBack core to deliver great extensibility and flexibility written in TypeScript/ES2017. Create powerful APIs easily with a new creative experience for defining REST APIs and handling API requests/responses. A new, improved programming model with dependency injection and new concepts such as components, mixins, repositories, etc. make this the most extensible version yet. The LoopBack 4 CLI is a command-line interface that can scaffold a project or extension. The CLI provides the fastest way to get started with a LoopBack 4 project that adheres to best practices. LoopBack is a highly-extensible, open-source Node.js framework that enables you to create dynamic end-to-end REST APIs with little or no coding. Access data from major relational databases, MongoDB, SOAP, and REST APIs. Incorporate model relationships and access controls for complex APIs.
  • 8
    Catch2

    Catch2

    Catch2

    Catch2 is mainly a unit testing framework for C++, but it also provides basic micro-benchmarking features and simple BDD macros. Catch2's main advantage is that using it is both simple and natural. Test names do not have to be valid identifiers, assertions look like normal C++ boolean expressions, and sections provide a nice and local way to share set-up and tear-down code in tests. You are on the devel branch, where the v3 version is being developed. v3 brings a bunch of significant changes, the big one being that Catch2 is no longer a single-header library. Catch2 now behaves as a normal library, with multiple headers and separately compiled implementation. Quick and easy to get started. Just download two files, add them to your project and you're away. No external dependencies. As long as you can compile C++14 and have the C++ standard library available. Write test cases as, self-registering, functions (or methods, if you prefer).
    Starting Price: Free
  • 9
    Electron

    Electron

    Electron

    Thousands of organizations spanning all industries use Electron to build cross-platform software. Build cross-platform desktop apps with JavaScript, HTML, and CSS. If you can build a website, you can build a desktop app. Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application. Electron uses Chromium and Node.js so you can build your app with HTML, CSS, and JavaScript. Electron is an open-source project maintained by the OpenJS Foundation and an active community of contributors. Compatible with Mac, Windows, and Linux, Electron apps build and run on three platforms. To get started with Electron, check out the resources available. Learn how to wrap your web app with Electron, access all the APIs, and generate installers. Also, Electron Fiddle lets you create and play with small Electron experiments.
    Starting Price: Free
  • 10
    NestJS

    NestJS

    NestJS

    Gives you true flexibility by allowing use of any other libraries thanks to modular architecture. An adaptable ecosystem that is a fully-fledged backbone for all kinds of server-side applications. Takes advantage of latest JavaScript features, bringing design patterns and mature solutions to Node.js world. A complete development kit for building scalable server-side apps. In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front and backend applications. This has given rise to awesome projects like Angular, React and Vue, which improve developer productivity and enable the creation of fast, testable, and extensible frontend applications. However, while plenty of superb libraries, helpers, and tools exist for Node (and server-side JavaScript), none of them effectively solve the main problem of - Architecture.
  • 11
    pytest

    pytest

    pytest

    pytest helps you write better programs. The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. Due to pytest’s detailed assertion introspection, only plain assert statements are used. Detailed info on failing assert statements. Auto-discovery of test modules and functions. Modular fixtures for managing small or parametrized long-lived test resources. Can run unittest (including trial) and nose test suites out of the box. Supports Python 3.6+ and PyPy 3. Rich plugin architecture, with over 315+ external plugins and thriving community. The maintainers of pytest and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use.
  • 12
    TestCafe

    TestCafe

    DevExpress

    No WebDriver required. No manual timeouts needed. Cross-browser testing out-of-the-box. TestCafe does not require WebDriver or other testing software. It runs on Node.js and uses the browsers you already have. TestCafe frees you from the need to insert manual timeouts and use cumbersome boilerplate expressions. You’ll spend less time tracking down annoying issues and more time doing what matters most. TestCafe is available for free and distributed under the MIT license. We are committed to our open-source community and are actively extending TestCafe's capabilities. TestCafe’s intuitive syntax makes teams more productive from day one. Don’t let Internet Explorer push you over the Edge. Run your tests in desktop browsers and headless browsers. Connect to remote testing servers, mobile devices and cloud browser farms. Run your tests in multiple browsers at once to save time and computing resources.
  • 13
    Playwright

    Playwright

    Playwright

    Playwright supports all modern rendering engines including Chromium, WebKit, and Firefox. Test on Windows, Linux, and macOS, locally or on CI, headless or headed. Playwright waits for elements to be actionable prior to performing actions. It also has a rich set of introspection events. The combination of the two eliminates the need for artificial timeouts - the primary cause of flaky tests. Playwright assertions are created specifically for the dynamic web. Checks are automatically retried until the necessary conditions are met. Configure test retry strategy, capture execution trace, videos, screenshots to eliminate flakes. Browsers run web content belonging to different origins in different processes. Playwright is aligned with the modern browsers architecture and runs tests out-of-process. This makes Playwright free of the typical in-process test runner limitations.
    Starting Price: Free
  • 14
    TypeORM

    TypeORM

    TypeORM

    TypeORM is an ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript (ES5, ES6, ES7, ES8). Its goal is to always support the latest JavaScript features and provide additional features that help you to develop any kind of application that uses databases - from small applications with a few tables to large scale enterprise applications with multiple databases. TypeORM supports both Active Record and Data Mapper patterns, unlike all other JavaScript ORMs currently in existence, which means you can write high quality, loosely coupled, scalable, maintainable applications the most productive way.
  • 15
    Cypress

    Cypress

    Cypress.io

    Fast, easy and reliable end-to-end testing for anything that runs in a browser. Cypress has been made specifically for developers and QA engineers, to help them get more done. Cypress benefits from our amazing open-source community - and our tools are evolving better and faster than if we worked on them alone. Cypress is based on a completely new architecture. No more Selenium. Lots more power. Cypress takes snapshots as your tests run. Simply hover over commands in the Command Log to see exactly what happened at each step. Stop guessing why your tests are failing. Debug directly from familiar tools like Chrome DevTools. Our readable errors and stack traces make debugging lightning fast. Cypress automatically reloads whenever you make changes to your tests. See commands execute in real-time in your app. Never add waits or sleeps to your tests. Cypress automatically waits for commands and assertions before moving on. No more async hell.
    Starting Price: Free
  • 16
    Karma

    Karma

    Karma

    The main goal for Karma is to bring a productive testing environment to developers. The environment being one where they don't have to set up loads of configurations, but rather a place where developers can just write the code and get instant feedback from their tests. Because getting quick feedback is what makes you productive and creative. Test your code on real browsers and real devices such as phones, tablets or on a headless PhantomJS instance. Control the whole workflow from the command line or your IDE - just save a file and Karma will run all the tests. Karma also watches all the files, specified within the configuration file, and whenever any file changes, it triggers the test run by sending a signal to the testing server to inform all of the captured browsers to run the test code again. Each browser then loads the source files inside an IFrame, executes the tests and reports the results back to the server.
    Starting Price: Free
  • 17
    restify

    restify

    restify

    A Node.js web service framework optimized for building semantically correct RESTful web services ready for production use at scale. restify optimizes for introspection and performance and is used in some of the largest Node.js deployments on Earth. Running at scale requires tracing problems back to their origin by separating noise from the signal. restify is built from the ground up with post-mortem debugging in mind. Staying true to the spec is one of the foremost goals of the project. You will see references to RFCs littered throughout GitHub issues and the codebase. restify is used by some of the industry's most respected companies to power some of the largest deployments of Node.js on planet Earth—the future of Node.js REST development. Setting up a server is quick and easy. Like many other Node. js-based REST frameworks, restify leverages a Sinatra-style syntax for defining routes and the function handlers that service those routes.
    Starting Price: Free
  • 18
    Refraction

    Refraction

    Refraction

    Refraction is a code-generation tool for developers. It uses AI to generate code for you. You can use it to generate unit tests, documentation, refactor code, and more. Generate code using AI in 34 languages — Assembly, C#, C++, CoffeeScript, CSS, Dart, Elixir, Erlang, Go, GraphQL, Groovy, Haskell, HTML, Java, JavaScript, Kotlin, LaTeX, Less, Lua, MatLab, Objective-C, OCaml, Perl, PHP, Python, R Lang, Ruby, Rust, Sass / SCSS, Scala, Shell, SQL, Swift, and TypeScript. Join thousands of developers around the world using Refraction to generate documentation, create unit tests, refactor code, and more using AI. Use the power of AI to automate the tedious parts of software development like testing, documentation, and refactoring, so you can focus on what matters. Refactor, optimize, fix and style-check your code. Generate unit tests for your code with various test frameworks. Explain the purpose of your code to make it easier to understand.
    Starting Price: $8 per month
  • 19
    Storybook

    Storybook

    Storybook

    Storybook provides a sandbox to build UIs in isolation so you can develop hard-to-reach states and edge cases. Implement components and pages without needing to fuss with data, APIs, or business logic. Render components in key states that are tricky to reproduce in an app. Save use cases as stories in plain JavaScript to revisit during development, testing, and QA. Use addons to customize your workflow, automate testing, and integrate with your favorite tools. Stories are a pragmatic, reproducible way to keep track of UI edge cases. Write stories once then reuse them to power automated tests. Whenever you write a story you get a handy test case. Quickly browse stories to make sure your UI looks right. Pinpoint UI changes down to the pixel by comparing image snapshots of stories. Reuse stories in your unit tests to confirm nuanced functionality. Stories show how UIs actually work not just how they're supposed to work. That makes gathering feedback and reproductions easy.
  • 20
    NW.js

    NW.js

    NW.js

    NW.js (previously known as node-webkit) lets you call all Node.js modules directly from DOM and enables a new way of writing applications with all web technologies. A new way of writing native applications using web technologies, HTML5, CSS3, and WebGL. Full support for the features in the browser. Complete support for Node.js APIs and all third-party modules. Call Node.js modules directly from the DOM and web workers. Available on Linux, Mac OS X and Windows. NW.js is based on Chromium and Node.js. Further, you can easily package a web application into a native application. It enables endless possibilities for writing apps. Easy to use, native UI library, frameless window, packaging and distribution, compatible with npm, debugger support, a rich documentation, kiosk mode, file dialogs, and media. Supports web components, drag & drop, WebGL, WebRTC, datalist, and CSS3. NW.js is also data persistent.
    Starting Price: Free
  • 21
    XCTest

    XCTest

    Apple

    Create and run unit tests, performance tests, and UI tests for your Xcode project. Use the XCTest framework to write unit tests for your Xcode projects that integrate seamlessly with Xcode's testing workflow. Tests assert that certain conditions are satisfied during code execution, and record test failures (with optional messages) if those conditions aren’t satisfied. Tests can also measure the performance of blocks of code to check for performance regressions and can interact with an application's UI to validate user interaction flows. A test method is a small, self-contained method that tests a specific part of your code. A test case is a group of related test methods. Add test cases and test methods to a test target to confirm that your code performs as expected. The primary class for defining test cases, test methods, and performance tests. An abstract base class for creating, managing, and executing tests.
    Starting Price: Free
  • 22
    Ember.js

    Ember.js

    Ember.js

    Ember.js is a productive, battle-tested JavaScript framework for building modern web applications. It includes everything you need to build rich UIs that work on any device. Some of the best development teams in the world have been iterating on their products for years with Ember. With scalable UI architecture baked-in from the start, you'll be working with the same patterns these organizations use every step of the way. Ember’s out-of-the-box experience has everything you need to start building on day one and keep shipping for years. Benefit from our years of experience to help your team be productive—faster. Ember CLI is the backbone of modern Ember apps, providing code generators to create new entities and putting the necessary files in the right place, every time. Ember apps come with a built-in development environment with fast rebuilds, auto-reload, and a test runner!
    Starting Price: Free
  • 23
    Kendo UI

    Kendo UI

    Progress Software

    Kendo UI is the ultimate collection of JavaScript UI components with libraries for jQuery, Angular, React, and Vue. Quickly build eye-catching, high-performance, responsive web applications—regardless of your JavaScript framework choice. Easily add advanced JavaScript components into your existing or new designs. Kendo UI’s hundreds of components handle everything you need to satisfy your users’ requirements. Add advanced components such as data grids, charts, schedulers, and calendars with just a few lines of code. Each is crafted for performance and customizability. Switching frameworks and starting new projects won’t require a new license or a big learning curve. Everything is included and up-to-date, APIs are consistent and theming is easy. Our QA process coupled with world-class support teams and a large user community means that our components will always work the way they’re supposed to—guaranteed.
  • 24
    Vite

    Vite

    Vite

    Get ready for a development environment that can finally catch up with you. Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects. It consists of two major parts: A dev server that provides rich feature enhancements over native ES modules, for example extremely fast Hot Module Replacement (HMR). A build command that bundles your code with Rollup, pre-configured to output highly optimized static assets for production. Vite is opinionated and comes with sensible defaults out of the box, but is also highly extensible via its Plugin API and JavaScript API with full typing support.
    Starting Price: Free
  • 25
    Jasmine

    Jasmine

    Jasmine

    Jasmine attempts as best as possible to follow semantic versioning. This means we reserve major versions (1.0, 2.0, etc.) for breaking changes or other significant work. Most Jasmine releases end up being minor releases (2.3, 2.4, etc.). Major releases are very infrequent. Jasmine generally avoids dropping support for browser or Node versions except in major releases. The exceptions to this are Node versions that are past end of life, browsers that we can no longer install locally and/or test against in our CI builds, browsers that no longer receive security updates, and browsers that only run on operating systems that no longer receive security updates. We’ll make reasonable efforts to keep Jasmine working in those environments but won’t necessarily do a major release if they break.
    Starting Price: Free
  • 26
    Svelte

    Svelte

    Svelte

    Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app. Instead of using techniques like virtual DOM diffing, Svelte writes code that surgically updates the DOM when the state of your app changes. We're proud that Svelte was recently voted the most loved web framework with the most satisfied developers in a pair of industry surveys. We think you'll love it too. Read the introductory blog post to learn more. Svelte is a tool for building fast web applications. It is similar to JavaScript frameworks such as React and Vue, which share a goal of making it easy to build slick interactive user interfaces. But there's a crucial difference: Svelte converts your app into ideal JavaScript at build time, rather than interpreting your application code at run time.
  • 27
    Sencha Ext JS
    Sencha Ext JS is a comprehensive JavaScript application framework for building feature-rich, cross-browser-compatible web and mobile applications. It includes a library with 140+ high-performance customizable components, a set of tools and a powerful UI Framework. Key Features Rich UI Components – Includes a variety of pre-built UI elements such as grids and trees, menus and toolbars, forms and buttons, etc. Cross-platform compatibility - Supports major desktop and mobile web browsers including IE Firefox Chrome Safari and Opera. Data Packages – Includes data components to interact with various data sources including JSON, XML and database connections. Theming and Skinning - Allow easy skinning and theming of the UI with CSS. Development Tools - Includes an extensive set of development tools including a visual designer and debugger. Large Community - Has an active and large community of developers who provide support, extensions, etc.
    Starting Price: $1,295 one-time payment
  • 28
    Feathers

    Feathers

    Feathers

    Feathers can interact with any backend technology, supports many databases out of the box and works with any frontend technology like React, VueJS, Angular, React Native, Android or iOS. Build prototypes in minutes and production-ready apps in days. Leveraging a unique architecture, Feathers lets you focus on building your APIs and real-time applications quickly. You automatically get scalable HTTP and real-time APIs and stay prepared for whatever else the future might bring. Feathers can be used with NodeJS, in the browser, with React Native or with any other API client. You can use any database with many supports out of the box and connect your API seamlessly to any frontend framework. Built for TypeScript, Feathers provides the structure to create complex applications but is flexible enough to not be in the way. With a large ecosystem of plugins you can include exactly what you need.
  • 29
    Atri Framework
    Atri framework is a full-stack web development framework to build Progressive Web Apps. Use our visual editor to increase your productivity. You can also add your custom React code. Currently, we support Python for backend development. We are planning to add support for NodeJS soon. Our CLI provides rich support for easy deployment at your platform of choice such as GitHub Pages, AWS, etc. Atri framework comes with a suite of productivity tools such as a visual editor, asset management tools, etc. that significantly reduce development time from months to hours. Atri framework is extending the definition of full-stack to include non-web developers in the development and maintenance of an app.
    Starting Price: $100 per user per month
  • 30
    Selenium

    Selenium

    Software Freedom Conservancy

    Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should) also be automated as well. If you want to create robust, browser-based regression automation suites and tests, scale and distribute scripts across many environments, then you want to use Selenium WebDriver, a collection of language specific bindings to drive a browser - the way it is meant to be driven. If you want to create quick bug reproduction scripts, create scripts to aid in automation-aided exploratory testing, then you want to use Selenium IDE; a Chrome and Firefox add-on that will do simple record-and-playback of interactions with the browser. If you want to scale by distributing and running tests on several machines and manage multiple environments from a central point.
  • 31
    TESSY

    TESSY

    Razorcat

    TESSY automates the whole unit test cycle including regression testing for your embedded software in C/C++ on different target systems. As an easy-to-install and easy-to-operate testing tool TESSY guides you through the unit test workflow from the project setup through the test design and execution to the result analysis and reporting. TESSY takes additional care of the complete test organization as well as the test management, including requirements, coverage measurement, and traceability. The TESSY test project management feature provides the possibility to define an individual test project structure based on collections and folders, to define environment variables, and to configure your desired compiler/debugger with the help of the integrated Test Environment Editor. The coverage results are displayed directly within the project structure and the test results are stored within test runs which allows for keeping former (successful) results for reporting.
  • 32
    TestNG

    TestNG

    TestNG

    TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as annotations, or the possibility to run your tests in arbitrarily big thread pools with various policies available (all methods in their own thread, one thread per test class, etc.). You can test that your code is multithread safe, there is flexible test configuration, support for data-driven testing (with @DataProvider), support for parameters, powerful execution model (no more TestSuite). There is a supported by a variety of tools and plug-ins (Eclipse, IDEA, Maven, etc.), it also embeds BeanShell for further flexibility, and there is default JDK functions for runtime and logging (no dependencies), and dependent methods for application server testing. TestNG is designed to cover all categories of tests, unit, functional, end-to-end, integration, etc.
  • 33
    HUnit

    HUnit

    Hackage

    HUnit is a unit testing framework for Haskell, inspired by the JUnit tool for Java. It's easy to use HUnit, assuming you are familiar with Haskell, though not necessarily with JUnit. A test-centered methodology for software development is most effective when tests are easy to create, change, and execute. The JUnit tool pioneered support for test-first development in Java. HUnit is an adaptation of JUnit to Haskell, a general-purpose, purely functional programming language. With HUnit, as with JUnit, you can easily create tests, name them, group them into suites, and execute them, with the framework checking the results automatically. Test specification in HUnit is even more concise and flexible than in JUnit, thanks to the nature of the Haskell language. HUnit currently includes only a text-based test controller, but the framework is designed for easy extension. Run the tests as a group.
    Starting Price: Free
  • 34
    JMockit

    JMockit

    JMockit

    The toolkit is provided as a set of artifacts deployed to the Maven Central repository. It requires Java 7 or newer for test execution; tests must use JUnit or TestNG. For instructions on how to add the library to a Java project, see Running tests with JMockit. In this tutorial we examine the APIs available in the library, with the help of example tests (using Java 8). The central API - a single annotation - provides support for the automatic instantiation and initialization of the objects to be tested. Then we have the mocking API (also known as the "Expectations" API), intended for tests which use mocked dependencies. Finally, there is a small faking API (aka the "Mockups" API), which can be used for the creation and application of fake implementations that avoid the full cost of external components.
    Starting Price: Free
  • 35
    Mockito

    Mockito

    Mockito

    Mockito is a mocking framework that tastes really good. It lets you write beautiful tests with a clean & simple API. Mockito doesn’t give you hangover because the tests are very readable and they produce clean verification errors. Read more about features & motivations. Top 10 Java library across all libraries, not only the testing tools. In late 2013 there was an analysis made of 30.000 GitHub projects. Although Mockito reached number 9 in the main report, mockito-core and mockito-all are the same tool and therefore the factual position of Mockito is number 4, surpassing famous tools like Guava or Spring. Treat this study as an indicator of a big impact that Mockito makes every day on unit tests written in Java.
    Starting Price: Free
  • 36
    EasyMock

    EasyMock

    EasyMock

    Most parts of a software system do not work in isolation, but collaborate with other parts to get their job done. In a lot of cases, we do not care about using real collaborators implementation in unit testing, as we trust these collaborators. Mock objects replace collaborators of the unit under test. To test a unit in isolation or mount a sufficient environment, we have to simulate the collaborators in the test. A Mock Object is a test-oriented replacement for a collaborator. It is configured to simulate the object that it replaces in a simple way. In contrast to a stub, a Mock Object also verifies whether it is used as expected. EasyMock has been the first dynamic Mock Object generator, relieving users of hand-writing Mock Objects, or generating code for them. EasyMock provides Mock Objects by generating them on the fly using Java proxy mechanism.
  • 37
    WebDriverIO

    WebDriverIO

    WebDriverIO

    WebdriverIO allows you to automate any application written with modern web frameworks such as React, Angular, Polymeror Vue.js as well as native mobile applications for Android and iOS. WebdriverIO not only runs automation based on the WebDriver protocol, it also leverages native browser APIs to enable integrations to popular developer tools such as Chrome DevTools orGoogle Lighthouse. With the plugin you have access to commands for validating if you app is a valid PWA application as well as to commands for capturing frontend performance metrics such as speedIndex and others. The WebdriverIO testrunner comes with a command line interface that provides a nice configuration utility that helps you to create your config file in less than a minute. It also gives an overview of all available 3rd party packages like framework adaptions, reporter and services and installs them for you!
  • 38
    Growler

    Growler

    Growler

    Growler is a web framework built atop asyncio, the asynchronous library described in PEP 3156 and added to the standard library in python 3.4. It takes a cue from the Connect & Express frameworks in the nodejs ecosystem, using a single application object and series of middleware to process HTTP requests. The custom chain of middleware provides an easy way to implement complex applications. The pip utility allows packages to provide optional requirements, so features may be installed only upon request. This meshes well with the minimal nature of the Growler project: don't install anything the user doesn't need. That being said, there are (will be) community packages that are blessed by the growler developers (after ensuring they work as expected and are well tested with each version of growler) that will be available as extras directly from the growler package.
  • 39
    Deequ

    Deequ

    Deequ

    Deequ is a library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets. We are happy to receive feedback and contributions. Deequ depends on Java 8. Deequ version 2.x only runs with Spark 3.1, and vice versa. If you rely on a previous Spark version, please use a Deequ 1.x version (legacy version is maintained in legacy-spark-3.0 branch). We provide legacy releases compatible with Apache Spark versions 2.2.x to 3.0.x. The Spark 2.2.x and 2.3.x releases depend on Scala 2.11 and the Spark 2.4.x, 3.0.x, and 3.1.x releases depend on Scala 2.12. Deequ's purpose is to "unit-test" data to find errors early, before the data gets fed to consuming systems or machine learning algorithms. In the following, we will walk you through a toy example to showcase the most basic usage of our library.
  • 40
    Cucumber

    Cucumber

    SmartBear

    Validate executable specifications against your code on any modern development stack. With over 40 million downloads, Cucumber Open is the world’s #1 automation tool for Behavior-Driven Development. Cucumber Open isn't just open source, it's an open platform that plays well with the tools you already use and love. Works with Java, JavaScript, Ruby, .NET and many other platforms. Store plain text specifications alongside your code in your own source control system. Describe how the system should behave in a way that everybody can understand. Automate with Selenium, API calls or direct function calls in the same process. Generate reports in HTML, JSON and other formats, or build your own reports. Integrate with CucumberStudio, JIRA or build your own plugins. Bridge the gap between business and development using BDD. Decrease rework with test automation. Get real-time insights with living documentation. Seamless integration with Git.
  • 41
    NUnit

    NUnit

    .NET Foundation

    NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 3, has been completely rewritten with many new features and support for a wide range of .NET platforms. The NUnit Project is a member of the .NET Foundation. The .NET Foundation will provide guidance and support to help ensure the future of the project. The success of NUnit has been made possible through the hard work of our many contributors and team members. The Core Team thanks everyone for the help and contributions that have made NUnit the success that it is. At last count, the various NUnit packages passed 126 million downloads on NuGet.org. We couldn't have done that without the dedication of the many volunteers that donate their time and knowledge to the project. NUnit is Open Source software and NUnit 3 is released under the MIT license.
  • 42
    Vue.js

    Vue.js

    Vue.js

    Builds on top of standard HTML, CSS and JavaScript with intuitive API and world-class documentation. Truly reactive, compiler-optimized rendering system that rarely requires manual optimization. A rich, incrementally adoptable ecosystem that scales between a library and a full-featured framework. Vue is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS and JavaScript, and provides a declarative and component-based programming model that helps you efficiently develop user interfaces, be it simple or complex. Vue extends standard HTML with a template syntax that allows us to declaratively describe HTML output based on JavaScript state. Vue automatically tracks JavaScript state changes and efficiently updates the DOM when changes happen. Vue is a framework and ecosystem that covers most of the common features needed in frontend development.
  • 43
    PowerMock

    PowerMock

    PowerMock

    Writing unit tests can be hard and sometimes good design has to be sacrificed for the sole purpose of testability. Often testability corresponds to good design, but this is not always the case. For example final classes and methods cannot be used, private methods sometimes need to be protected or unnecessarily moved to a collaborator, static methods should be avoided completely and so on simply because of the limitations of existing frameworks. PowerMock is a framework that extends other mock libraries such as EasyMock with more powerful capabilities. PowerMock uses a custom classloader and bytecode manipulation to enable mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers and more. By using a custom classloader no changes need to be done to the IDE or continuous integration servers which simplifies adoption.
    Starting Price: Free
  • 44
    Express

    Express

    OpenJS Foundation

    Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. With a myriad of HTTP utility methods and middleware at your disposal, creating a robust API is quick and easy. Express provides a thin layer of fundamental web application features, without obscuring Node.js features that you know and love. Express has no notion of a database. This concept is left up to third-party Node modules, allowing you to interface with nearly any database. In Express, 404 responses are not the result of an error, so the error-handler middleware will not capture them. This behavior is because a 404 response simply indicates the absence of additional work to do; in other words, Express has executed all middleware functions and routes, and found that none of them responded.
    Starting Price: Free
  • 45
    Preact

    Preact

    Preact

    Preact provides the thinnest possible Virtual DOM abstraction on top of the DOM. It builds on stable platform features, registers real event handlers and plays nicely with other libraries. Most UI frameworks are large enough to be the majority of an app's JavaScript size. Preact is different: it's small enough that your code is the largest part of your application. That means less JavaScript to download, parse and execute - leaving more time for your code, so you can build an experience you define without fighting to keep a framework under control. Preact is fast, and not just because of its size. It's one of the fastest Virtual DOM libraries out there, thanks to a simple and predictable diff implementation. We automatically batch updates and tune Preact to the extreme when it comes to performance. We work closely with browser engineers to get the maximum performance possible out of Preact.
    Starting Price: Free
  • 46
    Webix

    Webix

    Webix

    JavaScript UI library and framework for speeding up web development. JS Framework for cross-platform web Apps development 102 UI widgets and feature-rich CSS / HTML5 JavaScript controls. Save at least 3000+ development hours by using ready-made widgets and UI controls. Develop Web UI 30% faster. We have accumulated the best design ideas. We have meticulously considered UX of each Webix component for five conceptual designs. Our support service specialists know everything about our library and can help you solve any problem. We also have an official support forum where you can discuss issues with our developers. By using Webix JS framework you receive an elegant and lightweight code based on object-oriented programming concepts. Associate your project with jQuery JavaScript library, MVC frameworks AngularJS, React, Vue.js, Backbone.js, third party UI extensions.
  • 47
    Framework7

    Framework7

    Framework7

    Framework7 is a free and open-source framework to develop mobile, desktop, or web apps with a native look and feel. It is also an indispensable prototyping tool to show a working app prototype as soon as possible in case you need to. With such a stunning set of UI components that Framework7 provides right from the box, it allows to create web apps, progressive web apps (PWA), and iOS and Android apps with a native look and feel. Framework7 paired with extra tools like Electron and NW.js allows to build native desktop apps. You can use any tools you love when working with Framework7. It doesn’t force you to use anything except plain HTML, CSS, and JavaScript. Creating apps with Framework7 is easy as creating a website. And in addition to vanilla JavaScript library, Framework7 comes with Vue.js, React, and Svelte components to bring components-syntax, structured data, and data bindings with the power and simplicity of Vue.js, React, or Svelte.
    Starting Price: Free
  • 48
    jQuery

    jQuery

    jQuery

    jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. If you're new to jQuery. Return a collection of matched elements either found in the DOM based on passed argument(s) or created by passing an HTML string. All the aspects of the API that were deprecated in the corresponding version of jQuery. These methods get and set DOM attributes of elements.
  • 49
    Remix

    Remix

    Remix

    Remix is a seamless server and browser runtime that provides snappy page loads and instant transitions by leveraging distributed systems and native browser features instead of clunky static builds. Built on the Web Fetch API (instead of Node) it can run anywhere. It already runs natively on Cloudflare Workers, and of course supports serverless and traditional Node.js environments, so you can come as you are. Page speed is only one aspect of our true goal though. We're after better user experiences. As you’ve pushed the boundaries of the web, your tools haven’t caught up to your appetite. Remix is ready to serve you from the initial request to the fanciest UX your designers can think up. Get fancy with transition hooks and make some pending UI. Remix handles all the state, you simply ask for it.
  • 50
    Bootstrap

    Bootstrap

    Bootstrap

    Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins. Jump right into building with Bootstrap, use the CDN, install it via the package manager, or download the source code. Bootstrap utilizes Sass for modular and customizable architecture. Import only the components you need, enable global options like gradients and shadows and write your own CSS with our variables, maps, functions, and mixins. Import one stylesheet and you're off to the races with every feature of our CSS. The easiest way to customize Bootstrap, include only the CSS you need. Bootstrap 5 is evolving with each release to better utilize CSS variables for global theme styles, individual components, and even utilities. We provide dozens of variables for colors, font styles, and more for use anywhere.