Watches code and tests for changes, rerunning tests as appropriate.
Source:R/auto-test.R
auto_test.Rd
The idea behind auto_test()
is that you just leave it running while
you develop your code. Every time you save a file it will be automatically
tested and you can easily see if your changes have caused any test
failures.
Usage
auto_test(
code_path,
test_path,
reporter = default_reporter(),
env = test_env(),
hash = TRUE
)
Arguments
- code_path
path to directory containing code
- test_path
path to directory containing tests
- reporter
test reporter to use
- env
environment in which to execute test suite.
- hash
Passed on to
watch()
. When FALSE, uses less accurate modification time stamps, but those are faster for large files.
Details
The current strategy for rerunning tests is as follows:
if any code has changed, then those files are reloaded and all tests rerun
otherwise, each new or modified test is run
In the future, auto_test()
might implement one of the following more
intelligent alternatives:
Use codetools to build up dependency tree and then rerun tests only when a dependency changes.
Mimic ruby's autotest and rerun only failing tests until they pass, and then rerun all tests.