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, ...)

Arguments

file

[character] File location of a .R file.

at_home

[logical] toggle local tests.

verbose

[integer] verbosity level. 0: be quiet, 1: print status per file, 2: print status per test expression.

color

[logical] toggle colorize counts in verbose mode (see Note)

remove_side_effects

[logical] toggle remove user-defined side effects? See section on side effects.

side_effects

[logical|list] Either a logical, or a list of arguments to pass to report_side_effects.

...

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.

Value

A list of class tinytests, which is a list of tinytest objects.

User-defined side effects

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 details. 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

ignore

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))



[Package tinytest version 1.0.0 Index]