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 and testing_package()
to retrieve the name of the
package being tested. 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_reporter(), ..., stop_on_failure = TRUE, stop_on_warning = FALSE) test_check(package, filter = NULL, reporter = check_reporter(), ..., stop_on_failure = TRUE, stop_on_warning = FALSE, wrap = TRUE) is_testing() testing_package()
path |
Path to directory containing tests. |
filter |
If not |
reporter |
Reporter to use to summarise output. Can be supplied
as a string (e.g. "summary") or as an R6 object
(e.g. See Reporter for more details and a list of built-in reporters. |
env |
Environment in which to execute the tests. Expert use only. |
... |
Additional arguments passed to |
encoding |
Deprecated. All files now assumed to be UTF-8. |
load_helpers |
Source helper files before running the tests?
See |
stop_on_failure |
If For historical reasons, the default value of |
stop_on_warning |
If |
wrap |
Automatically wrap all code within |
package |
Name of installed package. |
A list of test results.
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")
test_dir(testthat_examples(), reporter = "summary") test_dir(testthat_examples(), reporter = "minimal")