unit testing for R packages?
I put unit test in the examples, using "\dontshow" to hide "stopifnot".
Many help pages I've written contain code like the following:
A <- functionDocumentedHere()
B <- manuallyComputedAnswer
\dontshow{stopifnot(}
all.equal(A, B)
\dontshow{)}
I think it helps the documentation to include an example comparing
a special case computed using a function with a manual computation.
However, "stopifnot" contributes nothing to user understanding, so I
hide it. One could also use "\dontshow" to hide entire examples that
check trivial details you think would not interest users.
Spencer
Seth Falcon wrote:
Hi, On Mon, Oct 5, 2009 at 12:01 PM, Blair Christian <blair.christian at gmail.com> wrote:
I'm interested in putting some unit tests into an R package I'm
building. I have seen assorted things such as Runit library, svUnit
library, packages
with 'tests' directories, etc
I grep'd "unit test" through the writing R extensions manual but didn't find
anything. Are there any suggestions out there? Currently I have
several (a lot?) classes/methods that I keep tinkering with, and I'd
like to run a script frequently to check that I don't cause any
unforeseen problems.
I've had good experiences using RUnit. To date, I've mostly used RUnit by putting tests in inst/unitTests and creating a Makefile there to run the tests. You should also be able to use RUnit in a more interactive fashion inside an interactive R session in which you are doing development. The vignette in svUnit has an interesting approach for integrating unit testing into R CMD check via examples in an Rd file within the package. + seth
Spencer Graves, PE, PhD President and Chief Operating Officer Structure Inspection and Monitoring, Inc. 751 Emerson Ct. San Jos?, CA 95126 ph: 408-655-4567