run_test_file {tinytest} | R Documentation |
Run an R file containing tests; gather results
Description
Run an R file containing tests; gather results
Usage
run_test_file(
file,
at_home = TRUE,
verbose = getOption("tt.verbose", 2),
color = getOption("tt.pr.color", TRUE),
remove_side_effects = TRUE,
side_effects = FALSE,
set_env = list(),
encoding = "unknown",
...
)
Arguments
file |
|
at_home |
|
verbose |
|
color |
|
remove_side_effects |
|
side_effects |
|
set_env |
|
encoding |
|
... |
Currently unused |
Details
In tinytest, a test file is just an R script where some or all
of the statements express an expectation
.
run_test_file
runs the file while gathering results of the
expectations in a tinytests
object.
The graphics device is set to pdf(file=tempfile())
for the run of the
test file.
Value
A list
of class tinytests
, which is a list of
tinytest
objects.
Side-effects caused by test code
All calls to Sys.setenv
and options
defined in a test file are captured and undone once the test file has run,
if remove_side_effects
is set to TRUE
.
Tracking side effects
Certain side effects can be tracked, even when they are not explicitly
evoked in the test file. See report_side_effects
for side
effects tracked by tinytest. Calls to report_side_effects
within the test file overrule settings provided with this function.
Note
Not all terminals support ansi escape characters, so colorized output can be
switched off. This can also be done globally by setting
options(tt.pr.color=FALSE)
. Some terminals that do support ansi
escape characters may contain bugs. An example is the RStudio terminal
(RStudio 1.1) running on Ubuntu 16.04 (and possibly other OSs).
See Also
Other test-files:
build_install_test()
,
exit_file()
,
run_test_dir()
,
summary.tinytests()
,
test_package()
Examples
# create a test file, in temp directory
tests <- "
addOne <- function(x) x + 2
Sys.setenv(lolz=2)
expect_true(addOne(0) > 0)
expect_equal(2, addOne(1))
Sys.unsetenv('lolz')
"
testfile <- tempfile(pattern="test_", fileext=".R")
write(tests, testfile)
# run test file
out <- run_test_file(testfile,color=FALSE)
out
# print everything in short format, include passes in print.
print(out, nlong=0, passes=TRUE)
# run test file, track supported side-effects
run_test_file(testfile, side_effects=TRUE)
# run test file, track only changes in working directory
run_test_file(testfile, side_effects=list(pwd=TRUE, envvar=FALSE))