test_dir

0th

Percentile

Run all tests in directory or package

Use test_dir() for a collection of tests in a directory; use test_package() interactively at the console, and test_check() inside of R CMD check.

In your own code, you can use is_testing() to determine if code is being run as part of a test. You can also check the underlying env var directly identical(Sys.getenv("TESTTHAT"), "true") to avoid creating a run-time dependency on testthat.

Usage
test_dir(path, filter = NULL, reporter = default_reporter(),
  env = test_env(), ..., encoding = "unknown", load_helpers = TRUE,
  stop_on_failure = FALSE, stop_on_warning = FALSE, wrap = TRUE)

test_package(package, filter = NULL, reporter = check_repoter(), ..., stop_on_failure = TRUE, stop_on_warning = FALSE)

test_check(package, filter = NULL, reporter = check_repoter(), ..., stop_on_failure = TRUE, stop_on_warning = FALSE, wrap = TRUE)

is_testing()

Arguments
path

path to tests

filter

If not NULL, only tests with file names matching this regular expression will be executed. Matching will take on the file name after it has been stripped of "test-" and ".R".

reporter

reporter to use

env

environment in which to execute the tests

...

Additional arguments passed to grepl() to control filtering.

encoding

File encoding, default is "unknown" unknown.

load_helpers

Source helper files before running the tests?

stop_on_failure

If TRUE, throw an error if any tests fail.

stop_on_warning

If TRUE, throw an error if any tests generate warnings.

wrap

Automatically wrap all code within test_that()? This ensures that all expectations are reported, even if outside a test block.

package

package name

Value

The results of the reporter function on all test results.

The results as a "testthat_results" (list)

Test files

For package code, tests should live in tests/testthat.

There are four classes of .R files that have special behaviour:

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

  • Helper files start with helper and are executed before tests are run and from devtools::load_all().

  • Setup files start with setup and are executed before tests, but not during devtools::load_all().

  • Teardown files start with teardown and are executed after the tests are run.

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.

R CMD check

To run testthat automatically from R CMD check, make sure you have a tests/testthat.R that contains:

library(testthat)
library(yourpackage)

test_check("yourpackage")

Aliases
  • test_dir
  • test_package
  • test_check
  • is_testing
Examples
# NOT RUN {
test_package("testthat")
# }
Documentation reproduced from package testthat, version 2.0.1, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.