awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
pester avatar

pester/Pester

0
View on GitHub↗
pester.dev↗

Pester

Pester is a PowerShell testing framework and behavior-driven development tool used to write and run automated tests for scripts and modules. It defines and verifies software behavior through human-readable specifications to validate that code behaves as expected.

The project includes a native mocking library that replaces real functions and commands with controlled implementations, allowing for the isolation of code and verification of command invocations without altering the system environment. It also functions as a code coverage tool that measures the percentage of executed lines during test runs to identify untested logic and branches.

Broad capabilities cover the management of test lifecycles through shared setup and teardown logic and the organization of test suites into nested groups. The framework provides specialized assertions to validate code behavior and integrates with continuous integration servers to automate test execution within build pipelines.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Automated Test Execution - Executes scripts containing test definitions and reports whether code behaves as expected through detailed console output.
  • Behavior Driven Development Frameworks - Functions as a behavior-driven development framework using human-readable specifications to verify software behavior.
  • Native Runtime Execution - Runs tests directly within the PowerShell runtime to leverage native language features and system-level access.
  • Mock Implementations - Replaces actual function implementations with fake counterparts to isolate logic and test interactions without side effects.
  • Assertion Libraries - Ships a versatile set of specialized assertions for validating code outputs, file states, and general logic.
  • Interaction Verifiers - Provides utilities to verify the number of times and the specific arguments used in mocked command calls.
  • Function Behavior Replacement - Intercepts function calls to return predefined values, simulating dependencies by replacing real command behavior.
  • Mocking and Spying Libraries - Includes a native mocking library to replace real functions and commands with controlled implementations for isolation.
  • Outcome Verification - Compares actual values against expected criteria to determine if a test passes or fails.
  • PowerShell Testing Frameworks - Provides a complete framework for writing and running automated tests to validate the behavior of PowerShell scripts.
  • Dependency Mocking - Replaces real function dependencies with controlled substitutes to isolate code under test.
  • Command Interception - Provides a dynamic engine that replaces PowerShell commands and functions at runtime to intercept calls and control return values.
  • PowerShell - Provides a dedicated framework for writing and running automated unit tests for PowerShell scripts and modules.
  • State Expectation Validation - Compares current system states and values against expected values to verify that code behavior meets specific criteria.
  • CI Pipeline Integrations - Provides native support for executing automated testing pipelines within continuous integration environments.
  • Continuous Integration Pipelines - Integrates automated test execution into continuous integration pipelines to validate code quality before merging.
  • Code Coverage Analysis - Provides tools and metrics to measure the extent to which source code is executed by a test suite.
  • Code Coverage Tools - Measures the percentage of executed lines during test runs to identify untested logic and branches.
  • Test Lifecycle and Execution Control - Implements mechanisms for managing test suite organization and execution flow via setup and teardown hooks.
  • Test Lifecycle Hooks - Provides mechanisms for executing setup and teardown logic before and after tests to ensure environment consistency.
  • Nested Setup Nodes - Organizes test suites into hierarchical blocks to manage scope and shared setup logic.
  • Test Suite Organization - Offers methods for structuring and grouping individual test functions into manageable suites using nested blocks.
  • Testing - BDD-style testing framework for scripts.
3,262 stars·478 forks·PowerShell·other·35 views

Star history

Star history chart for pester/pesterStar history chart for pester/pester

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does pester/pester do?

Pester is a PowerShell testing framework and behavior-driven development tool used to write and run automated tests for scripts and modules. It defines and verifies software behavior through human-readable specifications to validate that code behaves as expected.

What are the main features of pester/pester?

The main features of pester/pester are: Automated Test Execution, Behavior Driven Development Frameworks, Native Runtime Execution, Mock Implementations, Assertion Libraries, Interaction Verifiers, Function Behavior Replacement, Mocking and Spying Libraries.

Which projects share features with pester/pester?

Projects with overlapping indexed features include: thomhurst/tunit — TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source… jasmine/jasmine — Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a… jestjs/jest — Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the… doctest/doctest — doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation… quick/quick — Quick is a behavior-driven development framework and testing tool for Swift and Objective-C. It functions as both a… sinonjs/sinon — Sinon is a JavaScript test double library and mocking framework used to isolate code and verify behavior during unit…

Projects sharing features with Pester

These projects share indexed features with Pester. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • thomhurst/tunitthomhurst avatar

    thomhurst/TUnit

    3,744View on 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
    View on GitHub↗3,744
  • jasmine/jasminejasmine avatar

    jasmine/jasmine

    15,824View on 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
    View on GitHub↗15,824
  • jestjs/jestjestjs avatar

    jestjs/jest

    45,448View on 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
    View on GitHub↗45,448
  • doctest/doctestdoctest avatar

    doctest/doctest

    6,765View on GitHub↗

    doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation that eliminates complex build dependencies, allowing developers to write and execute test cases directly within their source code. The framework is distinguished by its focus on compile-time performance and binary overhead. It uses conditional compilation guards to strip all testing logic and metadata from production binaries. Additionally, it features hierarchical subcases that re-execute parent setup code to isolate different execution paths within a single test case. Its c

    C++c-plus-pluscppcpp11
    View on GitHub↗6,765
Compare all 30 related projects→