humane-test-output/README.org
2014-03-27 06:45:52 -04:00

66 lines
2.6 KiB
Org Mode

#+STARTUP: hidestars showall
* Humane test output for clojure.test
This library does two things:
1. Test output is pretty printed.
2. Equality assertions are also diffed.
To use this library, include it in your dev profile:
: [pjstadig/humane-test-output "0.3.0"]
To activate it you will need to require ~pjstadig.humane-test-output~. One
way to do this would be to have a ~user.clj~ file in your test classpath that
has ~(require 'pjstadig.humane-test-output)~ in it.
Once it is activated, instead of this:
: FAIL in (a-test) (humane_test_output_test.clj:7)
: FIXME, I fail.
: expected: (= {:foo :bar, :baz :quux, :something "a long string?", :another-key "and another value"} {:fo :bar, :baz :quux, :something "a long string?", :another-key "and another value"})
: actual: (not (= {:another-key "and another value", :foo :bar, :something "a long string?", :baz :quux} {:another-key "and another value", :something "a long string?", :fo :bar, :baz :quux}))
:
: FAIL in (a-test) (humane_test_output_test.clj:11)
: FIXME, I fail.
: expected: (= {:foo :bar, :baz :quux} {:foo :bar, :baz :quux} {:fo :bar, :baz :quux})
: actual: (not (= {:foo :bar, :baz :quux} {:foo :bar, :baz :quux} {:fo :bar, :baz :quux}))
:
: FAIL in (a-test) (humane_test_output_test.clj:14)
: FIXME, I fail.
: expected: (list? foo)
: actual: (not (list? {:another-key "and another value", :foo :bar, :something "a long string?", :baz :quux}))
You get this:
: FAIL in (a-test) (humane_test_output_test.clj:7)
: FIXME, I fail.
: expected: {:another-key "and another value",
: :foo :bar,
: :something "a long string?",
: :baz :quux}
: actual: {:fo :bar}
: diff: - {:baz :quux,
: :something "a long string?",
: :foo :bar,
: :another-key "and another value"}
: + {:fo :bar}
:
: FAIL in (a-test) (humane_test_output_test.clj:10)
: FIXME, I fail.
: expected: {:foo :bar, :baz :quux}
: actual: {:fo :bar, :baz :quux}
: diff: - {:foo :bar}
: + {:fo :bar}
:
: FAIL in (a-test) (humane_test_output_test.clj:13)
: FIXME, I fail.
: expected: (list? foo)
: actual: (not
: (list?
: {:another-key "and another value",
: :foo :bar,
: :something "a long string?",
: :baz :quux}))
** License
: Copyright © Paul Stadig. All rights reserved.
:
: Some small bits of code were taken from clojure.test and modified, and are
: Copyright © Rich Hickey. All rights reserved.
:
: Distributed under the Eclipse Public License, the same as Clojure.