awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
onsi avatar

onsi/ginkgo

0
View on GitHub↗
onsi.github.io/ginkgo↗

Ginkgo

Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a domain-specific language for writing human-readable specifications, organizing tests into hierarchical containers and subjects to describe system behavior.

The project distinguishes itself through advanced execution control and observability, featuring a test runner capable of parallel distribution, sharding, and randomized execution order to detect flaky tests. It includes specialized diagnostic tools for goroutine leak detection, hanging spec monitoring, and failure state debugging.

The framework covers a broad range of testing capabilities, including asynchronous system validation with polling and timeouts, complex data structure assertions, and comprehensive lifecycle management for nested setup and teardown. It also provides automation for test filtering via labels or descriptions and the generation of machine-readable reports.

The test suite can be precompiled into a standalone binary for faster execution and distribution.

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

Features

  • BDD Specification Structuring - Organizes test logic into a hierarchical structure using containers and subjects to describe system behavior.
  • BDD Test Hierarchies - Organizes tests into a nested structure of containers and specs to map system behavior to a descriptive hierarchy.
  • Behavior Driven Development - Implements a behavior-driven development framework for Go using human-readable specifications and hierarchical containers.
  • Nested Data Matchers - Supports building nested matchers to apply individual validation tests to specific fields within large data sets.
  • Testing Frameworks - Implements a hierarchical BDD testing framework specifically for the Go ecosystem.
  • Test - Runs setup and teardown functions before or after individual test nodes using context wrapping and thread-locking.
  • Testing Specifications - Offers a domain-specific language for writing human-readable specifications using containers and subjects.
  • Assertion Libraries - Provides a wide range of matchers for both synchronous and asynchronous state verification in Go.
  • Assertion Matchers - Provides a comprehensive set of assertion matchers that can be combined using logical operators.
  • Asynchronous Logic Validation - Provides specialized tools for validating eventual consistency in asynchronous Go code using polling and timeouts.
  • Suite-Level Resource Initialization - Performs expensive setup and teardown exactly once for the entire suite to manage external dependencies.
  • Test Lifecycle Hooks - Manages the setup and teardown of resources across nested test containers to ensure environment isolation.
  • Go Testing Frameworks - Provides a comprehensive testing environment for Go applications with support for data-driven scenarios and complex assertions.
  • Parallel Test Execution - Distributes test specifications across multiple CPU cores to reduce total execution time in Go projects.
  • Assertion and Validation Utilities - Provides comprehensive utilities for defining test conditions and assertions with multi-return error handling.
  • Custom Matchers - Implements a common matcher interface supporting both synchronous checks and eventual consistency polling.
  • Test Execution Runners - Ships a test execution engine featuring parallelization, sharding, and randomized ordering to detect flakiness.
  • Global Test Lifecycle Hooks - Provides global hooks to perform one-time setup and teardown for the entire test suite.
  • Nested Setup Nodes - Supports hierarchical environment refinement using nested setup nodes to initialize shared state.
  • Test Lifecycle Hooks - Manages test setup and teardown by wrapping test nodes in initialization and cleanup functions.
  • Focused Test Execution - Enables rapid iteration by isolating a small set of specifications and skipping all non-focused tests.
  • Table-Driven Tests - Generates multiple test cases from tables of inputs and expected outputs for repetitive scenarios.
  • Stream Buffer Assertions - Captures data in an in-memory buffer to perform ordered assertions against incremental or streaming output.
  • Specification Timeouts - Enforces deadlines and grace periods for individual specifications to ensure timely completion.
  • Subprocess Assertions - Allows compiling binaries and monitoring external processes to validate exit codes and output streams.
  • Test Reporting Pipelines - Streams test results through a pipeline of customizable nodes that aggregate data or generate reports.
  • Deferred Cleanup Registration - Ensures resources are released regardless of test outcome by registering cleanup functions adjacent to setup code.
  • Goroutine Leak Prevention - Verifies that test executions finish without leaving orphaned or leaked goroutines.
  • Test State Cleanup - Executes cleanup code after specifications to restore external systems and prevent state pollution between tests.
  • Execution State Streaming - Emits current execution state and source code location in real-time to help debug slow or stuck tests.
  • Stuck Process Monitoring - Emits progress reports and stack traces for hanging tests via system signals or polling intervals.
  • Description-Based Filtering - Matches regular expressions against the concatenated description of the spec hierarchy to isolate specific tests.
  • Execution State Inspection - Pauses execution after a failure but before teardown to enable manual inspection of the system state.
  • Test Reporters - Generates machine-readable and formatted test reports with support for custom metadata.
  • Flaky Test Analyzers - Identifies non-deterministic failures using randomized execution order and automated retries.
  • Programmable Reporting Nodes - Implements programmable reporting nodes that execute before or after specs to aggregate results.
  • Test Report Exporters - Produces test results in standardized, machine-readable formats for CI/CD integration.
  • Execution Randomizers - Shuffles the execution order of tests using a seed to uncover hidden dependencies and state pollution.
  • Conditional Skipping - Skips tests at compile time as pending or bypasses them dynamically at runtime based on conditions.
  • Transient Failure Reruns - Automatically reruns failed tests a specified number of times to mitigate flaky or transient failures.
  • HTTP Mock Servers - Simulates an HTTP server with a stack of handlers to validate incoming requests and return prefabricated responses.
  • Label-Based Filtering - Includes or excludes tests based on textual tags and complex logical queries using set-based operations.
  • Parallel Setup Synchronization - Coordinates a single setup process across multiple parallel workers to share expensive external resources.
  • Test Case Generators - Creates test cases programmatically using loops or configuration files during the suite construction phase.
  • Test Execution Filtering - Provides the ability to isolate and run tests based on their file paths or specific line number ranges.
  • Shared Behaviors - Extracts common sets of assertions into reusable functions to avoid duplicating tests across contexts.
  • Sequence Controllers - Ensures specific groups of tests run in a fixed sequence when they rely on shared mutating state.
  • Test Sharding - Distributes test workloads across multiple processes to utilize multiple CPU cores and reduce runtime.
  • Test Suite Filters - Isolates and runs specific subsets of a large test suite using labels and command-line flags.
  • Serial Test Execution Modes - Guarantees that specific tests run sequentially on a single process to avoid resource contention.
  • Frameworks and Libraries - BDD-style testing framework for Go.
  • أطر عمل الاختبار - BDD-style testing framework.
9,014 نجوم·702 تفرعات·Go·MIT·11 مشاهدات

سجل النجوم

مخطط تاريخ النجوم لـ onsi/ginkgoمخطط تاريخ النجوم لـ onsi/ginkgo

بدائل مفتوحة المصدر لـ Ginkgo

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Ginkgo.
  • jasmine/jasmineالصورة الرمزية لـ jasmine

    jasmine/jasmine

    15,824عرض على GitHub↗

    Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a comprehensive toolset for writing and executing descriptive test suites that verify code behavior in both web browsers and Node.js environments. The framework is distinguished by its integrated mocking library, which allows for dependency isolation through spies and stubs, as well as the ability to simulate time and timing functions to test asynchronous logic synchronously. It also includes a mechanism to enforce test uniqueness, preventing duplicate names for tests and suites. I

    JavaScript
    عرض على GitHub↗15,824
  • thomhurst/tunitالصورة الرمزية لـ thomhurst

    thomhurst/TUnit

    3,744عرض على GitHub↗

    TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP

    C#csharpdotnettest
    عرض على GitHub↗3,744
  • jestjs/jestالصورة الرمزية لـ jestjs

    jestjs/jest

    45,448عرض على GitHub↗

    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

    TypeScripteasyexpectationfacebook
    عرض على GitHub↗45,448
  • vitest-dev/vitestالصورة الرمزية لـ vitest-dev

    vitest-dev/vitest

    15,970عرض على GitHub↗

    Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an integrated environment that supports unit, integration, and browser-based testing, allowing developers to execute test suites natively without requiring separate build steps or complex configuration. The project distinguishes itself through a highly optimized execution model that leverages worker-thread isolation and on-demand module transformation to provide rapid feedback. It includes a comprehensive suite of mocking and spying utilities that allow for the interception of depen

    TypeScripttesttesting-toolsvite
    عرض على GitHub↗15,970
عرض جميع البدائل الـ 30 لـ Ginkgo→

الأسئلة الشائعة

ما هي وظيفة onsi/ginkgo؟

Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a domain-specific language for writing human-readable specifications, organizing tests into hierarchical containers and subjects to describe system behavior.

ما هي الميزات الرئيسية لـ onsi/ginkgo؟

الميزات الرئيسية لـ onsi/ginkgo هي: BDD Specification Structuring, BDD Test Hierarchies, Behavior Driven Development, Nested Data Matchers, Testing Frameworks, Test, Testing Specifications, Assertion Libraries.

ما هي البدائل مفتوحة المصدر لـ onsi/ginkgo؟

تشمل البدائل مفتوحة المصدر لـ onsi/ginkgo: jasmine/jasmine — Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a… thomhurst/tunit — TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source… jestjs/jest — Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the… vitest-dev/vitest — Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an… avajs/ava — Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and… doctest/doctest — doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation…