Releases: NoahTheDuke/lazytest
Releases · NoahTheDuke/lazytest
v0.4.1
Released 2024-08-28
.
Changes
- Merge metadata on
defdescribe
var intodescribe
attr-map. Fixes--include
and--exclude
filtering on var metadata instead of attr-map.
v0.4.0
Released 2024-08-19
.
Features
-n
,--namespace NS
cli flag to specify namespaces that will be tested.-v
,--var VAR
cli flag to specify vars that will be tested.- Support
: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.)
v0.3.0
Features
--exclude
and--include
cli flags for metadata selection.--include
works like^:focus
but is arbitrary metadata.
Changes
- Added "Usage" to README, listing cli options.
- Print correct version in
--help
output.
v0.2.1
- Cleaned up README, added Editor Integration section.
v0.2.0
- Rename test-case-result keys to match clojure.test and other test language's runners:
:form
->:expected
:result
->:actual
- Collapse
:fail
and:error
into:fail
. If reporters want to differentiate, they can by checking if:thrown
is anExpectationFailed
. (Seeclojure-test
reporter for an example.) - Add
(message, reason)
constructor arity to ExpectationFailed to better match bothAssertionError
andExceptionInfo
. - Catch ExpectationFailed in
expect
, rethrow with updated:message
, instead of passingmsg
into each assert-expr like in clojure.test. - Catch other Throwables in
expect
, wrap in ExpectationFailed as:caught
data. - Simplify how
:message
s are tracked. - Require a docstring expression from
describe
,it
andexpect-it
. - Add
*color*
dynamic var (set to lazytest.colorize system env, default to true) and makecolorize?
rely on it. - Move all relevant test case information into result object.
- Move all relevant suite information into result object.
- Filter suites/test cases when running a single var.
- Add support for nubank/matcher-combinators.
- Sort test vars by line and column before running.
- Rewrite runner to use type-based multimethod with report hooks.
- Rewrite reporters to use new report hooks, allow for multiple hooks to be combined:
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, andF
for failure. Namespaces wrap test cases in parentheses:(..F.)
Includesfocused
,results
, andsummary
.nested
prints each suite and test case on a new line, and indents each suite. Includesfocused
,results
, andsummary
.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.
- Add tests for reporters.
v0.0.1
Updated original code to use deps.edn, tools.build, and other modern tooling.
Big changes
- Remove all maven-specific and leiningen-specific code.
- Remove
clojure.test
-like api. - Remove random sampling code.
- Remove dependency-tracking and reloading and autotest code.
- Remove clojure 1.3 test code examples.
- Add CLI api.
- Change external API to use a single namespace (
lazytest.core
). - Change external API macros and functions to work better with modern tooling (use vars, etc).