Defining tests in source files, whose execution is deferred and triggered
on demand.
This is useful when one likes to have definitions of methods and
corresponding tests close to each other. This is also useful for code which
is not (yet) organized as a package, and where one doesn't want to maintain
a separate set of files for tests.
Filtering run testsets with a Regex, which is matched against the
descriptions of testsets.
This is useful for running only part of the test suite of a package. For
example, if you made a change related to addition, and included "addition"
in the description of the corresponding testsets, you can easily run only
these tests.
Note that a pull request
exists in the Julia repository to implement regex-filtering for
Test.@testset.
A couple more features are also enabled, like shuffling the order in which
the testsets are run, or running testsets in parallel (via Distributed).
ReTest is mostly backward-compatible with Test, i.e. minimal change to
test files is necessary in order to switch to ReTest; it's often even
possible to use ReTest features without changing a line, e.g. on Julia's
Base/stdlib tests.
请发表评论