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 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")
## Not run: test_package("testthat")