Released 2024-10-03.
:lazytest/runs and :lazytest/nses) have :children, which can be other suites or test cases.given in favor of let.before and after, and support :context in suite metadata. This allows for writing fixture-like code that can be reused across multiple suites or tests:(defdescribe context-test
(let [state (volatile! [])]
(describe "it runs both"
{:context [(before (vswap! state conj :before))
(after (vswap! state conj :after))]}
(expect-it "temp" true))
(expect-it "tracks correctly"
(= [:before :after] @state))))
around, which works like a clojure.test fixture:(describe "it works"
{:context [(around [f]
(binding [*foo* 100]
(f)))]}
...)
Add macros before-each and after-each, which are run before/after each nested test case.
Add function set-ns-context! which sets the current namespace's context to be the given vector. Works like clojure.test/use-fixture.
master to main.Released 2024-09-20.
--watch cli flag will run under "Watch mode", which uses clj-reload to check for changes in local classpath, and then reruns the provided or default test suite. Includes --delay NUM which allows for changing the number of milliseconds between checking changes.Released 2024-08-28.
Released 2024-08-28.
defdescribe var into describe attr-map. Fixes --include and --exclude filtering on var metadata instead of attr-map.Released 2024-08-19.
-n, --namespace NS cli flag to specify namespaces that will be tested.-v, --var VAR cli flag to specify vars that will be tested.:test metadata on vars. Handles functions, test cases, and test suites, converting them to test suites or using them directly. They're treated in the reporter as test vars, using the defn's var. (See README.md for examples.)Released 2024-08-08.
--exclude and --include cli flags for metadata selection. --include works like ^:focus but is arbitrary metadata.--help output.Released 2024-06-26.
Released 2024-06-18.
:form -> :expected:result -> :actual:fail and :error into :fail. If reporters want to differentiate, they can by checking if :thrown is an ExpectationFailed. (See clojure-test reporter for an example.)(message, reason) constructor arity to ExpectationFailed to better match both AssertionError and ExceptionInfo.expect, rethrow with updated :message, instead of passing msg into each assert-expr like in clojure.test.expect, wrap in ExpectationFailed as :caught data.:messages are tracked.describe, it and expect-it.*color* dynamic var (set to lazytest.colorize system env, default to true) and make colorize? rely on it.focused prints if there's any focused tests.summary prints "Ran x test cases, N failures, Y errors".results prints failed and errored test cases, expected values, etc.dots prints . for passing test case, and F for failure. Namespaces wrap test cases in parentheses: (..F.) Includes focused, results, and summary.nested prints each suite and test case on a new line, and indents each suite. Includes focused, results, and summary.clojure-test attempts to mimic clojure.test's basic output.debug prints "Running X" and "Done with X" for all test sequences and print the direct result of all test cases.Released 2024-06-09.
Updated original code to use deps.edn, tools.build, and other modern tooling.
clojure.test-like api.lazytest.core).Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |