30 open-source projects similar to robolectric/robolectric, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
MockK is a Kotlin test double framework that creates mocks, spies, and relaxed mocks for unit testing, with support for final classes, static methods, and coroutines. It functions as a bytecode instrumentation library that modifies compiled class files at load time to intercept constructors, final methods, and static functions without source changes, and also provides dedicated libraries for constructor mocking and coroutine mocking. The framework is designed specifically for Kotlin, handling Kotlin-specific constructs like extension functions, singletons, and suspend functions. MockK disting
Tox is a Python test automation framework and virtual environment manager. It functions as a multi-version compatibility tester that automates the creation and management of isolated environments to verify that package builds and installations work across different language implementations and dependency sets. The tool acts as a continuous integration pipeline frontend, synchronizing local test execution with remote server pipelines to standardize workflows. It utilizes matrix-based configuration resolution to generate sets of target environments based on combinations of language versions and
Jest is a JavaScript testing framework that integrates a test runner, an assertion library, and a snapshot testing tool. Its primary purpose is to provide a comprehensive environment for writing and running automated JavaScript tests to verify software correctness. The framework is distinguished by its snapshot testing capabilities, which capture the state of large objects or rendered components to detect regressions over time. It also features a reactive watch mode that monitors file changes and automatically executes only the tests related to modified code. The project covers a broad range
xunit is a unit testing framework for the .NET ecosystem designed to execute isolated code units and report failures across multiple platforms. It functions as a data-driven test runner and a native AOT test suite, capable of verifying compiled binaries and standalone executables after ahead-of-time compilation. The framework utilizes build-time source generators for test discovery to define test cases without relying on runtime reflection. It also features an extensible reporting system where custom logic can be linked into test assemblies to output results in specialized formats. The proje
Powermock is a Java mocking framework and unit testing tool that uses bytecode manipulation to mock static methods, final classes, and private constructors. It includes a Java agent instrumentation tool and a reflection-based testing utility to bypass encapsulation and modify class behavior at runtime. The project distinguishes itself by providing the ability to intercept the instantiation of objects via the new keyword and simulate the behavior of core Java system classes and native methods. It can override final modifiers on classes and methods and bypass signature restrictions for classes
Runtime introspection and unit testing of SwiftUI views
This project is a comprehensive reference guide and cheat sheet for the Jest testing framework. It provides technical documentation and syntax examples for writing JavaScript unit tests, focusing on assertions, mocking strategies, and test suite configuration. The resource details specific methods for dependency isolation and mocking, including the use of fake timers, module-level substitutions, and function call verification. It also covers specialized workflows such as snapshot testing to detect regressions via serialized output comparisons. The guide further addresses asynchronous test pa
This is a collection of sample projects that demonstrate how to write automated tests for Android applications. The samples cover a range of testing techniques, including simulating user interactions with the Espresso framework, verifying navigation and inter-component communication through intent interception, and managing activity, intent, and service lifecycles using reusable test rules. The repository provides concrete implementations for testing across multiple application windows, capturing screenshots during test execution for visual verification, and synchronizing test assertions with
Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the correctness of JavaScript and TypeScript code. It functions as a comprehensive toolset that integrates a test runner, a mocking and spying library, a snapshot testing tool, and a code coverage tool. The framework distinguishes itself through snapshot testing, which records the serialized state of data structures to detect regressions in future executions. It also includes a mocking and spying library for simulating external dependencies and tracking function calls to isolate code during
This project is a reference Kotlin Android application template and a set of sample implementations demonstrating Clean Architecture principles. It provides a structural design that isolates core business rules from the user interface and data sources into distinct, layered modules. The implementation focuses on the Model-View-ViewModel (MVVM) pattern to decouple UI logic from data models. It utilizes a dependency injection framework to automate object creation and manage component lifecycles, while employing a repository pattern to abstract data requests across memory, disk, and cloud source
AndroidX is the official collection of Android Jetpack libraries for building Android applications. It provides a suite of backward-compatible APIs that expose modern platform features on older Android versions, ensuring consistent functionality across devices. The project is built around lifecycle-aware component architecture, with tools like ViewModel for preserving UI data across configuration changes, LiveData for lifecycle-aware data observation, and WorkManager for constraint-based background task scheduling. The project distinguishes itself through compile-time code generation and type
This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering. The architecture relies on immutable state objects to represent application data, ensuring that updates are handled as complete replacements rather than partial modifications. By leveraging Kotlin Coroutines and reactive stream primitives, the framework coordinates asynchronous background tasks an
Tape is a TAP-producing test framework for Node.js that provides assertions, spies, subtests, and isolated test harnesses. It functions as both a test runner and an assertion library, outputting results in the Test Anything Protocol format for machine or human consumption. The framework manages test execution through callback-based async control, plan-based auto termination, and subtest stack isolation. It includes a spy wrapper system that replaces object methods with call-recording wrappers that restore originals during teardown, along with a teardown callback registry that collects and exe
Python-Guide-CN is a Chinese translation of a comprehensive guide to idiomatic Python programming and software development. It serves as a curated programming tutorial and ecosystem reference, providing a structured path for learning Python syntax, standard libraries, and professional coding patterns. The project distinguishes itself by offering detailed instructions for setting up development environments across Windows, macOS, and Linux. It specifically focuses on the selection of interpreters and the management of virtual environments to ensure a consistent workspace. The guide covers a b
This project is an algorithmic performance benchmarking tool and execution cycle simulator. It functions as a complexity analysis framework that measures code execution speed using simulated clock cycles to evaluate algorithmic efficiency against established performance baselines. The tool provides deterministic measurements of computational work and time complexity by tracking virtual clock cycles rather than real time. It utilizes a threshold-driven test suite to validate whether specific code implementations meet required performance cycle targets. The framework covers execution speed pro
Multipass is a virtual machine lifecycle controller and manager designed to create and orchestrate lightweight Ubuntu instances on a local workstation. It functions as a cross-platform hypervisor wrapper that provides a local cloud development environment for simulating cloud deployments. The system utilizes a hypervisor-abstraction layer and driver-based backend resolution to manage virtual machines across different host operating systems using native virtualization backends. It enables the simulation of cloud instance behavior through the injection of cloud-init metadata and initialization
Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a configuration parser to extract variables into hashes and a loader to inject those pairs into the global environment. The project features a variable interpolator that resolves environment variables and shell command outputs within configuration values. It also provides a validator to verify that required configuration keys are present during application initialization. The toolset covers environment variable management, including the ability to generate configuration templates
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
Chaos testing, network emulation, and stress testing tool for containers
blanket.js is a simple code coverage library for javascript. Designed to be easy to install and use, for both browser and nodejs.
Protractor is a WebDriver-based end-to-end testing framework and browser automation tool. It serves as a frontend integration test suite used to verify web application flows by simulating user behavior and executing JavaScript within a browser. The framework is specifically designed for testing Angular applications, providing specialized locators and synchronization tools that align with the framework lifecycle. It distinguishes itself through automatic test step synchronization, which pauses execution until pending page tasks are completed to ensure stable browser execution. The tool covers
Random testing library for C#
jest-image-snapshot is a Node.js image testing library and visual comparison engine designed for visual regression testing within Jest. It provides a custom matcher to compare current images against baseline snapshots to identify pixel differences. The tool generates image diffs that highlight specific divergences between baseline and received snapshots. It includes mechanisms to update baseline images when changes are approved and allows for sensitivity tuning via pixel count, percentage thresholds, or blur to ignore noise. The library covers image snapshot management, including custom stor