Commit c5d11cb1 authored by Drew's avatar Drew


See #1
parent b11aaf19
Pipeline #2329 passed with stages
in 1 minute and 59 seconds
......@@ -2,21 +2,52 @@
Caroline is a new, pure-Swift testing framework.
# Why Caroline
# Why Caroline?
* Because updating `allTests` by hand is unmanageable
* Because subtle platform differences in XCTest make writing portable tests too hard.
* To boldly design new Swift APIs instead of being stuck in the ObjC past.
* To fix many design errors and architectural annoyances. I am *constantly* running into things "not contemplated" by XCTest design.
* To introduce groundbreaking new features that have never been seen in a test framework before.
* To avoid a dependence on Foundation. You read that right.
Caroline has many key advantages over other testing frameworks.
# Editions
## Pure Swift
Caroline comes in two editions. *I'm preparing you now.*
* CarolineCore is a free, Apache-licensed edition. I plan to support all the popular features of XCTest, but better and saner.
* CarolinePro is a commercial edition. It includes advanced features designed to make working programmers far more productive with their tests than they are today. Full source code is available for study and customization.
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 <>`_, 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](
Caroline is borne out of many lifetimes of frustration at other testing frameworks. I hope you will not have to suffer as I did.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment