tinytest (version 1.1.0)

run_test_file: 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

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 side effects tracked by tinytest. Calls to report_side_effects within the test file overrule settings provided with this function.

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.

See Also

ignore

Other test-files: build_install_test, exit_file, run_test_dir, summary.tinytests, test_package

Examples

Run this code
# NOT RUN {
# 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))


# }

Run the code above in your browser using DataLab