| test_dir {testthat} | R Documentation |
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.
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()
path |
path to tests |
filter |
If not |
reporter |
reporter to use |
env |
environment in which to execute the tests |
... |
Additional arguments passed to |
encoding |
File encoding, default is "unknown"
|
load_helpers |
Source helper files before running the tests? |
stop_on_failure |
If |
stop_on_warning |
If |
wrap |
Automatically wrap all code within |
package |
package name |
The results of the reporter function on all test results.
The results as a "testthat_results" (list)
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.
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 checkTo run testthat automatically from R CMD check, make sure you have
a tests/testthat.R that contains:
library(testthat)
library(yourpackage)
test_check("yourpackage")
## Not run: test_package("testthat")