c(
    person("Hadley", "Wickham", , "hadley@rstudio.com", c("aut", "cre")),
    person("RStudio", role = c("cph", "fnd")),
    person("R Core team", role = "ctb",
      comment = "Implementation of utils::recover()")
    )
Software testing is important, but, in part because it is 
    frustrating and boring, many of us avoid it. 'testthat' is a testing framework 
    for R that is easy learn and use, and integrates with your existing 'workflow'.
cli, crayon (>= 1.3.4), digest, magrittr, methods, praise, R6
(>= 2.2.0), rlang (>= 0.3.0), withr (>= 2.0.0)
covr, curl (>= 0.9.5), devtools, knitr, rmarkdown, usethis,
vctrs (>= 0.1.0), xml2
'auto-test.R' 'capture-condition.R' 'capture-output.R'
'colour-text.R' 'compare.R' 'compare-character.R'
'compare-numeric.R' 'compare-time.R' 'context.R' 'describe.R'
'evaluate-promise.R' 'example.R' 'expect-comparison.R'
'expect-equality.R' 'expect-inheritance.R' 'expect-invisible.R'
'expect-known.R' 'expect-length.R' 'expect-logical.R'
'expect-named.R' 'expect-null.R' 'expect-output.R' 'reporter.R'
'expect-self-test.R' 'expect-setequal.R' 'expect-that.R'
'expect-vector.R' 'expectation.R' 'expectations-matches.R'
'make-expectation.R' 'mock.R' 'old-school.R' 'praise.R'
'quasi-label.R' 'recover.R' 'reporter-check.R'
'reporter-debug.R' 'reporter-fail.R' 'reporter-junit.R'
'reporter-list.R' 'reporter-location.R' 'reporter-minimal.R'
'reporter-multi.R' 'stack.R' 'reporter-progress.R'
'reporter-rstudio.R' 'reporter-silent.R' 'reporter-stop.R'
'reporter-summary.R' 'reporter-tap.R' 'reporter-teamcity.R'
'reporter-zzz.R' 'skip.R' 'source.R' 'teardown.R'
'test-compiled-code.R' 'test-directory.R' 'test-example.R'
'test-files.R' 'test-path.R' 'test-that.R' 'traceback.R'
'try-again.R' 'utils-io.R' 'utils.R' 'watcher.R'
Hadley Wickham [aut, cre],
  RStudio [cph, fnd],
  R Core team [ctb] (Implementation of utils::recover())