Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is the "classic" expectations library (considered stable and "in maintenance mode" at this point). It uses its own set of tooling and is not compatible with clojure.test-based tooling.

clojure.test compatibility

There is a very actively-maintained variant of this library that is compatible with clojure.test and its tooling:

expectations.clojure.test (documentation)

"Classic" Expectations (legacy)

Visit this website for all of the "classic" expectation docs:

Running the tests:

lein do clean, test

This will run the (successful) expectations for Clojure (currently 83).

Then run the ClojureScript tests interactively:

cljs.user=> (require 'expectations.test)
cljs.user=> (expectations.test/-main)

This will run the (successful) expectations that are compatible with ClojureScript (currently 69/69).

You can run all expectations via:

lein do clean, expectations

This includes the deliberately failing expectations (used to visually confirm behavior for failing tests) and should run 128 assertions in total, of which 43 will fail and 2 will error.

Copyright (c) 2010-2019, Jay C Fields, Sean Corfield. All rights reserved. This software is available under the BSD 3-Clause Open Source License.

Donate to Jay C Fields, the creator of Expectations

Donate Bitcoins