Swiftpack.co -  Quick/Quick as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Quick/Quick
The Swift (and Objective-C) testing framework.
.package(url: "https://github.com/Quick/Quick.git", from: "v4.0.0")

Build Status CocoaPods Carthage Compatible Platforms

Quick is a behavior-driven development framework for Swift and Objective-C. Inspired by RSpec, Specta, and Ginkgo.

// Swift

import Quick
import Nimble

class TableOfContentsSpec: QuickSpec {
  override func spec() {
    describe("the 'Documentation' directory") {
      it("has everything you need to get started") {
        let sections = Directory("Documentation").sections
        expect(sections).to(contain("Organized Tests with Quick Examples and Example Groups"))
        expect(sections).to(contain("Installing Quick"))
      }

      context("if it doesn't have what you're looking for") {
        it("needs to be updated") {
          let you = You(awesome: true)
          expect{you.submittedAnIssue}.toEventually(beTruthy())
        }
      }
    }
  }
}

Nimble

Quick comes together with Nimble — a matcher framework for your tests. You can learn why XCTAssert() statements make your expectations unclear and how to fix that using Nimble assertions here.

Swift Version

Certain versions of Quick and Nimble only support certain versions of Swift. Depending on which version of Swift your project uses, you should use specific versions of Quick and Nimble. Use the table below to determine which versions of Quick and Nimble are compatible with your project.

Swift version Quick version Nimble version
Swift 5.2 v3.0.0 or later v9.0.0 or later
Swift 4.2 / Swift 5 v1.3.2 or later v7.3.2 or later
Swift 3 / Swift 4 v1.0.0 or later v5.0.0 or later
Swift 2.2 / Swift 2.3 v0.9.3 v4.1.0

Documentation

All documentation can be found in the Documentation folder, including detailed installation instructions for CocoaPods, Carthage, Git submodules, and more. For example, you can install Quick and Nimble using CocoaPods by adding the following to your Podfile:

# Podfile

use_frameworks!

target "MyApp" do
  # Normal libraries

  abstract_target 'Tests' do
    inherit! :search_paths
    target "MyAppTests"
    target "MyAppUITests"

    pod 'Quick'
    pod 'Nimble'
  end
end

Projects using Quick

Over ten-thousand apps use either Quick and Nimble however, as they are not included in the app binary, neither appear in “Top Used Libraries” blog posts. Therefore, it would be greatly appreciated to remind contributors that their efforts are valued by compiling a list of organizations and projects that use them.

Does your organization or project use Quick and Nimble? If yes, please add your project to the list.

Who uses Quick

Similar to projects using Quick, it would be nice to hear why people use Quick and Nimble. Are there features you love? Are there features that are just okay? Are there some features we have that no one uses?

Have something positive to say about Quick (or Nimble)? If yes, provide a testimonial here.

License

Apache 2.0 license. See the LICENSE file for details.

GitHub

link
Stars: 9188
Last commit: 1 week ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Dependencies

Release Notes

v4.0.0
12 weeks ago

Quick v4 has been released! 🎉 The new major version requires Swift 5.2 / Xcode 11.4 at least.

BREAKING CHANGES

  • Bump minimum iOS version to 9.0 #1013
  • Rename master branch to main #1052

Changes

  • [CI] Test Xcode 12 and Swift 5.3 #1010
  • Set ENABLE_TESTING_SEARCH_PATHS to YES #1011
  • Upgrade Project Format to Xcode 11.4-compatible #1012 (Thanks @mRs-)
  • [CI] Use rake directly instead of travis-script-macos #1019
  • Update Nimble to 9.1.0 #1020, #1062, #1066
  • Xcode 12.0: Update to recommended settings #1021
  • Address deprecation warnings in Xcode 12 #1040
  • Migrate Linux CI from Travis to GitHub Actions #1042
  • [CI] Use norionomura/swift Docker images for Linux CI #1043
  • [SwiftLint] Enable yoda_condition rule #1044
  • [CI] Use the official Swift Docker images #1049
  • [CI] Split ci.yml into dedicated workflows #1050
  • Tweak CI workflows regarding fkirc/skip-duplicate-actions and matrix testing #1051
  • Xcode 12.5: Update to recommended settings #1063
  • [CI] Update Xcode and Swift versions #1064

Documentation Changes

  • vieiwDidAppear not be called automatically in iOS SDK 13.0 #942 (Thanks @nickm01)
  • [Translation] Update Chinese README.md #1053 (Thanks @EdgarDegas)

Miscellaneous

  • Create dependabot.yml #1000
  • Bump cocoapods #1001, #1026, #1035
  • Bump danger #1002, #1009, #1022, #1024, #1036, #1054
  • Bump kramdown #1004, #1058
  • [Dangerfile] Avoid passing a bot account name to github.api.organization_member #1005
  • Bump norio-nomura/action-swiftlint from 3.1.0 to 3.2.1 #1031
  • Bump fkirc/skip-duplicate-actions from v3.3.0 to v3.4.0 #1055
  • Bump rexml from 3.2.4 to 3.2.5 #1065

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API