awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
kiwi-bdd avatar

kiwi-bdd/Kiwi

0
View on GitHub↗
4,121 stars·504 forks·Objective-C·BSD-3-Clause·9 views

Kiwi

Kiwi is a behavior-driven development framework and specification library for iOS. It functions as a wrapper for XCTest, allowing developers to define and execute software requirements as automated tests to verify application logic.

The framework utilizes a domain-specific language to organize test cases into a nested hierarchy of descriptions. It includes a mocking system that employs runtime message interception and dynamic proxies to record invocations and return stubbed values.

The system provides a fluent assertion interface to evaluate object states and uses a block-based engine to execute specifications. These capabilities enable the creation of readable specifications that validate whether iOS application behavior matches project requirements.

Features

  • iOS - Provides an automated testing framework specifically designed for verifying behavior within iOS applications.
  • Testing Specifications - Uses a descriptive domain-specific language to document and validate application logic as executable specifications.
  • Behavior Specification Libraries - Provides a library for defining software requirements as automated tests within an iOS development environment.
  • Behavioral Specifications - Allows developers to define application behavior using readable, conversational specifications.
  • Fluent Assertions - Offers a fluent assertion interface that uses chainable syntax to match actual object states against expected outcomes.
  • iOS BDD Frameworks - Functions as a comprehensive behavior-driven development framework for verifying application logic on iOS.
  • Behavior Driven Development - Provides a framework for validating application logic through descriptive behavior specifications.
  • Dynamic Mock Objects - Uses runtime proxy objects to intercept method calls, record invocations, and return stubbed values for dependency mocking.
  • Specification Trees - Provides a domain-specific language to organize test cases into a nested hierarchy of descriptions.
  • iOS Frameworks - Enables behavior-driven development specifically for iOS applications to ensure software matches project requirements.
  • Category-Based Extensions - Utilizes Objective-C categories to inject BDD-specific functionality into base classes for a seamless domain language.
  • Runtime Message Interception - Hooks into the Objective-C messaging system to override object behavior for mocking and stubbing.
  • Test Execution Wrapping - Implements a block-based engine that wraps test logic in closures to manage the execution and lifecycle of specifications.
  • XCTest Automation Libraries - Builds upon XCTest to provide a structured layer for organizing test suites into behavior specifications.
  • Developer Utilities - Behavior-driven development testing framework for iOS.
  • Testing and Automation - Simple BDD testing framework for iOS.
  • Testing Frameworks - BDD framework for iOS development.

Star history

Star history chart for kiwi-bdd/kiwiStar history chart for kiwi-bdd/kiwi

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

Open-source alternatives to Kiwi

Similar open-source projects, ranked by how many features they share with Kiwi.
  • kif-framework/kifkif-framework avatar

    kif-framework/KIF

    6,243View on GitHub↗

    KIF is a functional testing framework and UI automation tool for iOS. It enables the simulation of user interactions and the verification of application states by driving interface components through their defined accessibility attributes. The framework utilizes an actor-pattern action wrapper to group reusable interaction sequences and allows the definition of custom, high-level test steps through a method-extension action library. It performs in-process interface driving, interacting with the application directly within the same process to execute actions and validate view states. The tool

    Objective-C
    View on GitHub↗6,243
  • onsi/ginkgoonsi avatar

    onsi/ginkgo

    9,014View on GitHub↗

    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 debu

    Go
    View on GitHub↗9,014
  • quick/quickQuick avatar

    Quick/Quick

    9,830View on GitHub↗

    Quick is a behavior-driven development framework and testing tool for Swift and Objective-C. It functions as both a testing framework and an assertion library, providing the structures necessary to write and run automated tests. The project focuses on organizing test suites into nested, human-readable requirements to define expected software behavior. This approach allows developers to structure tests in a descriptive format that translates technical requirements into readable specifications. The framework covers functional validation and quality assurance for Apple platform development. It

    Swiftbddcarthagecocoapods
    View on GitHub↗9,830
  • rspec/rspec-railsrspec avatar

    rspec/rspec-rails

    5,271View on GitHub↗

    rspec-rails is a testing framework that integrates RSpec with Ruby on Rails to provide behavior-driven development tools. It serves as a suite for defining application behavior through a conversational syntax, providing a specialized toolkit for creating behavioral specifications for models, controllers, and views. The project distinguishes itself through automated test generation, providing a command-line interface to create boilerplate specification files for Rails components such as models, controllers, and background jobs. It further differentiates its capabilities with a comprehensive mo

    Ruby
    View on GitHub↗5,271
See all 30 alternatives to Kiwi→

Frequently asked questions

What does kiwi-bdd/kiwi do?

Kiwi is a behavior-driven development framework and specification library for iOS. It functions as a wrapper for XCTest, allowing developers to define and execute software requirements as automated tests to verify application logic.

What are the main features of kiwi-bdd/kiwi?

The main features of kiwi-bdd/kiwi are: iOS, Testing Specifications, Behavior Specification Libraries, Behavioral Specifications, Fluent Assertions, iOS BDD Frameworks, Behavior Driven Development, Dynamic Mock Objects.

What are some open-source alternatives to kiwi-bdd/kiwi?

Open-source alternatives to kiwi-bdd/kiwi include: kif-framework/kif — KIF is a functional testing framework and UI automation tool for iOS. It enables the simulation of user interactions… onsi/ginkgo — Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a… quick/quick — Quick is a behavior-driven development framework and testing tool for Swift and Objective-C. It functions as both a… rspec/rspec-rails — rspec-rails is a testing framework that integrates RSpec with Ruby on Rails to provide behavior-driven development… behat/behat — Behat is a behavior-driven development framework and test automation tool for PHP. It functions as a Gherkin test… kotest/kotest — Kotest is a comprehensive testing framework for Kotlin designed for writing and executing tests across various styles…