OSS探訪GitHubでログイン

describe・context・itでSwift/Objective-CのtestをBDD形式へ整理する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
9,825
主要言語
Swift
ライセンス
Apache-2.0
リポジトリ最終更新
2026/05/18
ページ内ナビ

概要

QuickはRSpecなどに影響を受けたSwift/Objective-C向けBDD testing frameworkです。describe、context、itを使って仕様とexampleを階層化し、XCTest上で読みやすいtest構造を作れます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

describe・context・itで仕様を階層的に記述する

QuickSpecのspec内でdescribe、context、itを組み合わせ、対象機能・条件・期待する振る舞いをtest codeの構造として表現できます。Nimbleと組み合わせればmatcher形式のexpectationも利用できます。

出典:[2]

QuickLint pluginでfocused testの残存を検出する

7.6.2のPackage.swiftにはQuickLint executableとbuild/command pluginが含まれ、focused testをrelease前に検査するための補助を提供します。

出典:[3]

向いている用途

XCTestのtest名だけでは意図を表しにくいiOS test suiteに向く

画面・domain・network層などの期待動作をscenario単位で整理し、test caseの意図を日本語/英語のdescriptionに近い形で読めるようにしたい場合に適します。

出典:[2]

導入前の確認

Quickはtest target専用で、app binaryへ含めない

READMEはQuickをtesting専用libraryとして扱い、App Store Connectへ提出するbinaryに含めないよう明記しています。7.6.2のPackage.swiftはiOS 13以上・Swift tools 5.7を宣言し、Nimble dependencyは13.2.0以上14未満の系列です。Nimble 14を同時利用する場合はQuick側の対応versionを確認してください。

出典:[2][3][4]

参考にした公式資料

  1. [1]Quick/Quick — GitHub repository(2026-10-06)
  2. [2]Quick v7.6.2 — README(2026-10-06)
  3. [3]Quick v7.6.2 — Package.swift(2026-10-06)
  4. [4]Quick v7.6.2 release(2026-10-06)
  5. [5]Quick Apache-2.0 license(2026-10-06)
編集部からの補足

testの仕様とscenarioを読みやすく階層化したいiOS projectに向きます。Quickはtest target専用で、7.6.2はNimble 13.xへ依存するためNimble 14を併用する場合はversion互換性を確認してください。

3ステップで試す

  1. 1

    Quick 7.6.2をtest dependencyへ追加する

    Quickはtest targetだけに追加します。7.6.2のminimum platformはiOS 13です。

    .package(url: "https://github.com/Quick/Quick.git", exact: "7.6.2")
  2. 2

    QuickSpecでscenarioを定義する

    describeとitで仕様を階層化し、XCTest assertionをQuickのexample内で実行します。

    import Quick import XCTest final class MathSpec: QuickSpec { override class func spec() { describe("addition") { it("adds two values") { XCTAssertEqual(1 + 1, 2) } } } }
  3. 3

    test targetでQuick specを実行する

    Quickをapp binaryへ含めず、test targetからspecが実行されることを確認します。

    swift test
公式READMEで確認

成長

成長の推移 · 直近30日

9,825 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
14

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • swift
  • cocoapods
  • objective-c
  • carthage
  • testing
  • bdd
  • ios
Stars
9,825
Forks
893
Watchers
221
Open Issues
35
Contributors
142
所有者種別
Organization
主要言語
Swift
ライセンス
Apache-2.0
リポジトリ最終更新
2026/05/18

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?