[Rd] unit testing for R packages?

spencerg spencer.graves at prodsyse.com
Mon Oct 5 22:39:34 CEST 2009


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



More information about the R-devel mailing list