Learn R Programming

testthat (version 3.1.7)

test_file: Run all tests in a single file

Description

Helper, setup, and teardown files located in the same directory as the test will also be run.

Usage

test_file(path, reporter = default_compact_reporter(), package = NULL, ...)

Value

A list (invisibly) containing data about the test results.

Arguments

path

Path to file.

reporter

Reporter to use to summarise output. Can be supplied as a string (e.g. "summary") or as an R6 object (e.g. SummaryReporter$new()).

See Reporter for more details and a list of built-in reporters.

package

If these tests belong to a package, the name of the package.

...

Additional parameters passed on to test_dir()

Special files

Certain .R files have special significance in testthat:

  • Test files start with test and are executed in alphabetical order.

  • Setup files start with setup and are executed before tests. If clean up is needed after all tests have been run, you can use withr::defer(clean_up(), teardown_env()). See vignette("test-fixtures") for more details.

  • Helper files start with helper and are executed before tests are run and, unlike setup files, are also loaded by devtools::load_all(). Helper files can be necessary for side-effect-y code that you need to run when developing the package interactively. It's certainly possible to define custom test utilities in a helper file, but they can usually be defined below R/, just like any other internal function.

There is another type of special file that we no longer recommend using:

  • Teardown files start with teardown and are executed after the tests are run. Now we recommend interleaving setup and cleanup code in setup- files, making it easier to check that you automatically clean up every mess that you make.

All other files are ignored by testthat.

Environments

Each test is run in a clean environment to keep tests as isolated as possible. For package tests, that environment that inherits from the package's namespace environment, so that tests can access internal functions and objects.

Examples

Run this code
path <- testthat_example("success")
test_file(path)
test_file(path, reporter = "minimal")

Run the code above in your browser using DataLab