README.md 2.61 KB
Newer Older
Drew's avatar
Drew committed
1 2 3 4
# Caroline

Caroline is a new, pure-Swift testing framework.

Drew's avatar
Drew committed
5 6 7 8 9 10 11 12
[![Anarchy Tools compatible](https://img.shields.io/badge/Anarchy%20Tools-compatible-4BC51D.svg?style=flat)](http://anarchytools.org)
![License:apache](https://img.shields.io/hexpm/l/plug.svg)
![Swift:3](https://img.shields.io/badge/Swift-3-blue.svg)
![Swift:2](https://img.shields.io/badge/Swift-2-blue.svg)
![Platform:macOS](https://img.shields.io/badge/Platform-macOS-red.svg)
![Platform:Linux](https://img.shields.io/badge/Platform-Linux-red.svg)
![Platform:iOS](https://img.shields.io/badge/Platform-iOS-red.svg)

Drew's avatar
Drew committed
13 14
This repository is a mirror of https://code.sealedabstract.com/drewcrawford/Caroline which is the official home of this project.

Drew's avatar
Drew committed
15
# Why Caroline?
Drew's avatar
Drew committed
16

Drew's avatar
Drew committed
17
Caroline has many key advantages over other testing frameworks.
Drew's avatar
Drew committed
18

Drew's avatar
Drew committed
19
## Pure Swift
Drew's avatar
Drew committed
20 21


Drew's avatar
Drew committed
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
Caroline is 100% Swift.  Its only non-Swift dependency is libc, which makes it highly portable to any UNIX-like OS.

## No Legacy

Caroline doesn't need to maintain backwards compatibility with anything and so it has clean, Swifty APIs.

## Caroline Everywhere

Caroline runs on Swift 2 & 3, on iOS, macOS, and even Linux.  And it implements the same API everywhere.

## Test Discovery

Caroline automatically discovers your tests, and you don't need to maintain an `allTests` list anymore.

## Great Integrations

Caroline is ready to roll with Xcode, `AnarchyTools <http://www.anarchytools.org/>`_, or anything in-between.

If you're using XCTest already, Caroline can run side-by-side with your existing XCTest tests, allowing you to try Caroline or incrementally migrate tests to Caroline as it makes sense for you.  Caroline can even run entirely inside XCTest, going anywhere XCTest goes, including Xcode Server, `xcodebuild`, AWS Device Farm, and more.

If you're not using XCTest, Caroline has a great standalone mode that builds *one executable* including all runners, test frameworks, tests, and other code so you can just *run it from the commandline* from other tooling.

## Clear Design

The author is an expert in iOS/Swift continuous testing, and this is the tool he always wanted to build.

# Caroline Editions

Caroline comes in two editions:

* Caroline Core, a free, permissively-licensed testing library, with all the classic testing features.
* Caroline Pro, a commercially-supported advanced testing engine with many novel features.  CarolinePro is open-source, but  under a fairly restrictive license.  Commercial licensing is available from the author.

.. note::
    
    Caroline Pro is not included in this preview.

# Documentation

Caroline has excellent documentation!  [Read it online](http://caroline-docs.sealedabstract.com).
Drew's avatar
Drew committed
62 63