Jeff Hui

9pods

Cedar

BDD-style testing using Objective-C.

License: MIT

  • Objective C

Fox

Why write tests when you can generate them? Fox is a port of Clojure's popular test.check.

Specify your tests in terms of properties your code should hold. Fox's job is to generate tests to find a counter-example that your property does not hold.

Fox will also shrink the counter-example to the smallest possible example to make it easier to debug failures.

License: Apache 2

  • Objective C

Hydrant

A simple object data mapper for Objective-C.

Automated mapping of NSDictionaries/NSArrays to Value Objects with the goal of being exception-free and support graceful error handling.

Read up the documentation at http://hydrant.readthedocs.io/.

License: BSD

  • Objective C

JKVValue

A no-frills Value Object implementation. It only does one thing, making Value Objects easy.

All standard methods for NSObject, NSSecureCoding, NSCopying are implemented:

  • -[initWithCoder:]
  • -[encodeWithCoder:]
  • -[copyWithZone:]
  • -[mutableCopyWithZone:]
  • -[description]
  • -[debugDescription]
  • -[isEqual:]
  • -[hash]

When you inherit JKVValue or JKVMutableValue. Both classes will introspect the properties to provide all the behavior for the standard methods.

License: MIT

  • Objective C

Nimble

Use Nimble to express the expected outcomes of Swift or Objective-C expressions. Inspired by Cedar.

License: Apache-2.0

  • Swift

PivotalCoreKit

Shared library and test code for iOS projects.

License: MIT

  • Objective C

Quick

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

License: Apache-2.0

  • Swift

Robot

An integration test library on UIKit. Easily emulate high-level user interaction through UIKit.

Unlike KIF, this does not aim to perfectly emulate how users interact with the system. Instead, trying to replicate the same behavior while minimizing the overhead of time-based operations. A perfect example is disabling animations to speed up running of tests.

Also unlike KIF, Robot does not aim to be a full integration testing solution. Rather, it relies on other testing frameworks to do assertion and running. Besides XCTest, there are some popular BDD frameworks:

*Cedar
*Specta / Expecta
*Kiwi

License: Apache 2

  • Objective C

Snorlax

Snoozing for everyone!

Snorlax allows you to sleep on the current thread for a random amount of time.

In truth, Snorlax is an example library demostrating how to build libraries that support multiple platforms: - Carthage - Cocoapods - Swift Package Manager - OS X - iOS - watchOS - tvOS - Linux

See the source at https://github.com/jeffh/Snorlax

License: MIT

  • Swift