tinytest (version 1.2.4)

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,
  set_env = list(),
  ...
)

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 and increase counter after each 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.

set_env

[named list]. Key=value pairs of environment variables that will be set before the test file is run and reset afterwards. These are not counted as side effects of the code under scrutiny.

...

Currently unused

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.

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 DataCamp Workspace