[Rd] unit testing for R packages?
spencerg
spencer.graves at prodsyse.com
Tue Oct 6 00:06:05 CEST 2009
Hi, Duncan:
Thanks for the warning. Can you give me a hint of which release
might require this? In particular, will it be R 2.10.0, coming quite
soon?
Thanks,
Spencer
Duncan Murdoch wrote:
> On 05/10/2009 4:39 PM, spencerg wrote:
>> 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{)}
>
> This will fail in a future release of R, because those aren't valid
> expressions within \dontshow{}, which expects R code. You can achieve
> the same effect using the clearer
>
> all.equal(A,B)
> \dontshow{ stopifnot(isTrue(.Last.value)) }
>
> Duncan Murdoch
>
>>
>>
>> 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