104 个仓库
Frameworks and utilities for verifying application code.
Explore 104 awesome GitHub repositories matching part of an awesome list · Testing. Refine with filters or upvote what's useful.
Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test
Automation framework for cross-browser testing.
Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical
End-to-end testing framework for browser-based applications.
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
Comprehensive JavaScript testing framework.
Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr
WebDriver bindings.
React Testing Library is a testing framework for verifying React components by interacting with rendered output instead of internal implementation details. It functions as a DOM testing utility and a frontend integration testing tool that mounts components into a virtual document object model for execution within Node.js environments. The library utilizes an accessibility-first query engine to locate user interface elements via ARIA roles and labels. This approach ensures web accessibility standards are met by mirroring how users perceive the interface rather than relying on implementation-sp
Utilities for testing components from a user-centric perspective.
Faker is a synthetic data generation library used to create realistic but fake information, such as names, addresses, and phone numbers, for software testing and database population. It functions as a tool for producing synthetic test data to fill development databases with records that simulate production environments. The library provides localized data generation, allowing synthetic information to be customized for specific geographic regions and language formats. It also includes a mechanism for unique value enforcement to prevent the repetition of generated data by tracking and rejecting
Generates fake data.
Capybara is a browser automation library and web application acceptance test framework used to simulate user behavior and verify functional requirements. It serves as a cross-browser testing tool and headless browser orchestrator, allowing for the execution of test suites across multiple browser engines. The project provides a driver-agnostic interaction layer that abstracts different browser engines, enabling users to switch between headless and full browser drivers. It supports multi-user session simulation by maintaining independent browser states and cookies to test interactions between i
Acceptance testing for web applications.
Capybara is a browser automation testing library and framework for web application acceptance testing. It provides a high-level API for automating browser navigation and element interaction to validate user-facing features. The project features a cross-browser driver interface that allows switching between headless and full browser environments without modifying the underlying test code. This abstraction enables the simulation of complex web workflows across different browser drivers and environments. The suite covers user interaction simulation, including form filling, click events, and bro
Browser simulation for web testing.
Bogus is a fake data generator for .NET applications, including C#, F#, and VB.NET. It provides a deterministic mock data engine and an object configuration mapper to produce realistic profiles, addresses, and financial records. The library differentiates itself through a localization data provider that generates region-specific identifiers across various international languages and locales. It ensures reproducibility across executions by using seed values to control the sequence of generated data. The project covers wide-ranging data synthesis capabilities, including the generation of netwo
Fake data generator.
django-debug-toolbar is a developer tool that provides a browser-based set of diagnostic panels for inspecting HTTP requests and responses within a Django web application. It serves as a server-side diagnostics tool and web framework development suite, allowing developers to profile and inspect request-response cycles. The tool focuses on Django application troubleshooting, database optimization, and general web development. It enables the analysis of SQL queries and database performance to identify slow calls and reduce the number of requests per page. The software includes capabilities for
Request and response debugging panels.
Moq4 is a .NET mocking framework used to create simulated implementations of interfaces and abstract classes. It serves as a test double generator and behavior verification tool, allowing developers to isolate code during unit testing by replacing real dependencies with programmed mocks. The framework enables the definition of expected method behaviors and return values to control the execution flow of tests. It provides specialized capabilities for simulating methods that use output or reference parameters and mechanisms to monitor and trigger events on simulated objects. The library includ
Mocking framework.
VCR is a Ruby library that records and replays HTTP interactions during test runs, storing them in serialized cassette files. It captures real HTTP requests and responses, then serves those recorded responses instead of making actual network calls, enabling fast and deterministic test suites that work offline. The library provides configurable request matching, allowing comparisons based on method, URI, host, path, body, or headers to find the correct recorded response. It supports scheduled cassette re-recording to automatically refresh stored interactions at a configurable interval, keeping
Records and replays HTTP interactions.
rspec-rails 是一个将 RSpec 与 Ruby on Rails 集成的测试框架,提供行为驱动开发(BDD)工具。它作为一个套件,通过对话式语法定义应用行为,为模型、控制器和视图创建行为规范提供了专门的工具包。 该项目的特色在于自动化测试生成,提供命令行界面为 Rails 组件(如模型、控制器和后台任务)创建样板规范文件。它还通过全面的 Mock 和 Stub 库以及旨在模拟完整请求周期和浏览器交互的 Web 应用集成套件来区分其功能。 该框架涵盖了广泛的集成测试,包括路由映射验证、邮件内容验证和后台任务执行。它提供了多种测试断言,用于验证对象状态、HTTP 响应状态和数据库查询结果,并配有通过 Spy 和 Stub 管理测试替身的工具。 该系统包含一个用于测试执行的命令行可执行文件和一个持久化配置存储,以标准化不同环境下的设置。
Testing framework for Rails.
SimpleCov 是一个 Ruby 代码覆盖率工具和分析引擎,用于跟踪测试期间执行的代码行、分支和方法。它作为一个覆盖率阈值强制执行器和测试套件聚合器,记录执行数据以识别应用中未测试的区域。 该工具通过将来自并行工作进程和子进程的覆盖率结果合并为单个统一报告的能力而脱颖而出。它支持基准比较以检测覆盖率回归,并可以收集通过动态评估方法(如模板引擎中使用的方法)执行的代码数据。 其更广泛的能力包括多格式报告生成、源文件分组以及使用正则表达式进行文件过滤。该系统还提供了一个用于显示统计信息和列出未覆盖文件的命令行界面。
Code coverage analysis tool.
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
Unit testing tool.
WebMock 是一个用于 HTTP 请求存根、响应模拟和网络拦截的 Ruby 库。它既是一个用于验证传出 HTTP 流量的测试断言框架,也是一个网络拦截层,可阻止外部连接以防止测试期间发生意外请求。 该项目提供了动态响应生成以及为同一端点的重复请求排序不同返回值的功能。它支持模拟网络故障(如超时或异常),并允许使用从本地文件加载的原始 HTTP 数据进行响应重放。 该库涵盖了广泛的 API 模拟和网络控制功能,包括基于 URI 和标头的请求匹配、请求签名记录以及出站流量过滤。它还包括通过自定义回调拦截和记录网络事件的监控实用程序。
HTTP request stubbing.
FluentAssertions is a library of extension methods for .NET that provides a human-readable syntax for verifying expectations in unit tests. It serves as a validation layer that integrates with MSTest, NUnit, and xUnit to throw framework-specific exceptions upon assertion failure. The project includes a structural equivalency engine that performs deep member-by-member validation of .NET objects using configurable matching rules. It is designed for test-driven and behavior-driven development by generating descriptive failure messages that explain the difference between actual and expected resul
Fluent assertion library for tests.
Simple one-liner tests for common Rails functionality
RSpec matchers for Rails functionality.
A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
Time manipulation for testing.
minitest provides a complete suite of testing facilities supporting TDD, BDD, and benchmarking.
Complete testing suite for TDD and BDD.