unitize {unitizer} | R Documentation |
Turn standard R scripts into unit tests by storing the expressions therein along with the results of their evaluation.
unitize(test.file = NULL, store.id = NULL, state = getOption("unitizer.state"), pre = NULL, post = NULL, history = getOption("unitizer.history.file"), interactive.mode = interactive(), force.update = FALSE, auto.accept = character(0L), use.diff = getOption("unitizer.use.diff")) review(store.id = NULL) unitize_dir(test.dir = NULL, store.ids = filename_to_storeid, pattern = "^[^.].*\\.[Rr]$", state = getOption("unitizer.state"), pre = NULL, post = NULL, history = getOption("unitizer.history.file"), interactive.mode = interactive(), force.update = FALSE, auto.accept = character(0L), use.diff = getOption("unitizer.use.diff"))
test.file |
path to the file containing tests, if supplied path does not
match an actual system path, |
store.id |
if NULL (default), |
state |
character(1L) one of
|
pre |
NULL, or a character vector pointing to files and/or directories.
If a character vector, then any files referenced therein will be sourced,
and any directories referenced therein will be scanned non-recursively for
visible files ending in ".r" or ".R", which are then also sourced. If
NULL, then |
post |
NULL, or a character vector pointing to files and/or directories.
See |
history |
character(1L) path to file to use to store history generated
during interactive unitizer session; the default is an empty string, which
leads to |
interactive.mode |
logical(1L) whether to run in interactive mode ( request user input when needed) or not (error if user input is required, e.g. if all tests do not pass). |
force.update |
logical(1L) if TRUE will give the option to re-store a
unitizer after re-evaluating all the tests even if all tests passed.
you can also toggle this option from the unitizer prompt by typing |
auto.accept |
character(X) ADVANCED USE ONLY: YOU CAN EASILY DESTROY
YOUR |
use.diff |
TRUE or FALSE, whether to use diffs when there is an error,
if FALSE uses |
test.dir |
the directory to run the tests on; if NULL will use the
“tests/unitizer” package folder if it exists, or “.” if it
does not. See |
store.ids |
one of
|
pattern |
a regular expression used to match what subset of files in
|
unitize
creates unit tests from a single R file, and
unitize_dir
creates tests from all the R files in the specified
directory (analogous to testthat::test_dir
).
unitizer
stores are identified by unitizer
ids, which by
default are character strings containing the location of the folder the
unitizer
RDS files are kept in. unitize
and
friends will create a unitizer
id for you based on the test file
name and location, but you can specify your own location as an id, or even
use a completely different mechanism to store the unitizer
data by
implementing S3 methods for get_unitizer
and
set_unitizer
. For more details about storage see those
functions.
review
allows you to review existing unitizer
s and modify them
by dropping tests from them. Tests are not evaluated in this mode; you are
just allowed to review the results of previous evaluations of the tests
Because of this, no effort is made to create reproducible state in the
browsing environments, unlike with unitize
or unitize_dir
(see state
parameter).
You are strongly encouraged to read through vignette("unitizer")
for details and examples. The demo (demo("unitizer")
) is also a
good introduction to these functions.
unitize
and company are intended to be used primarily for
the interactive environment and side effects. The functions do return
summary data about test outcomes and user input as
unitizer_result
objects, or for unitize_dir
as
unitizer_results
objects, invisbly. See
unitizer_result
.
Many of the default settings are specfied in the form getOption("...")
to allow the user to "permanently" set them to their prefered modes by
setting options in their .Rprofile
file.
unitizerState
, unitizer.opts
,
get_unitizer
, infer_unitizer_location
,
unitizer_result