The idea behind auto_test() is that you just leave it running while you develop your code. Everytime you save a file it will be automatically tested and you can easily see if your changes have caused any test failures.

auto_test(code_path, test_path, reporter = default_reporter(),
  env = test_env(), hash = TRUE)



path to directory containing code


path to directory containing tests


test reporter to use


environment in which to execute test suite.


Passed on to watch(). When FALSE, uses less accurate modification time stamps, but those are faster for large files.


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.

See also