Automatically test an entire package by tracing calls made in its documented examples (and, for local source packages, its test suite) with typetracer, then testing each traced function call in turn.
autotest_package(
package = ".",
functions = NULL,
exclude = NULL,
test = FALSE,
test_data = NULL,
progress = c("bar", "tests", "none")
)An autotest_package object which is derived from a tibble
tbl_df object. This has one row for each test, and the following eight
columns:
type The type of result, either "dummy" for test = FALSE, or one
of "error", "warning", "diagnostic", or "message".
test_name Name of each test
fn_name Name of function being tested
parameter Name of parameter being tested
parameter_type Expected type of parameter as identified by
autotest.
operation Description of the test
content For test = FALSE, the expected behaviour of the
test; for test = TRUE, the observed discrepancy with that expected
behaviour
test If FALSE (default), list all tests without
implementing them, otherwise implement all tests.
Some columns may contain NA values, as explained in the Note.
Name of package, as either
Path to local package source
Name of installed package
Full path to location of installed package if not on .libPaths, or
Default which presumes current directory is within package to be tested.
Optional character vector containing names of functions of nominated package to be included in 'autotesting'.
Optional character vector containing names of any functions of nominated package to be excluded from 'autotesting'.
If FALSE, return only descriptions of tests which would be run
with test = TRUE, without actually running them.
Result returned from calling either autotest_types or
autotest_package with test = FALSE that contains a list of all tests
which would be conducted. These tests have an additional flag, test, which
defaults to TRUE. Setting any tests to FALSE will avoid running them when
test = TRUE.
Style of progress display while testing functions, one of:
"bar" (default) A cli progress bar. Automatically falls back
to "none" when called from within a knitr document, to avoid
literal ANSI escape sequences leaking into the rendered output.
"tests" One line per function tested, showing [i / n].
"none" No progress display at all.
Other main_functions:
autotest_types()
# \donttest{
x <- autotest_package (package = "stats", functions = "var", test = FALSE)
x
# }
Run the code above in your browser using DataLab