[Bioc-devel] testthat instructions for website

Michael Love michaelisaiahlove at gmail.com
Sat Mar 14 02:06:39 CET 2015


hi Bioc team,

Can we add some testthat instructions to the unit testing page:

http://bioconductor.org/developers/how-to/unitTesting-guidelines/

I presume the instructions would be simply to follow the basic
testthat instructions, e.g.:

https://github.com/hadley/testthat/blob/master/README.md
http://r-pkgs.had.co.nz/tests.html

...add testthat to Suggests, put tests in files starting with 'test'
inside tests/testthat/ and write a file tests/testthat.R with specific
code in it. I think this is what the packages here are all doing:

http://bioconductor.org/help/search/index.html?q=testthat

best,

Mike

~~~~ end of request, details continue below ~~~~

My reasons for wanting that Bioconductor support testthat in addition
to RUnit is that RUnit does not make it very simple to run all tests,
which should be a very simple thing to do.

With testthat, this is simply a call to test() which lives in
devtools. With RUnit you have to do:

runTestSuite(defineTestSuite("myTest", "inst/unitTests/","test_"))

Although that's not quite enough. That will not run the same test as
Bioconductor, or as if you ran the code in the test files in your
console, because defineTestSuite picks rngKind =
"Marsaglia-Multicarry" and rngNormalKind = "Kinderman-Ramage", which
are not the current R default random number generators.

So then you have to do:

runTestSuite(defineTestSuite("myTest", "inst/unitTests/","test_",
rngKind = "default", rngNormalKind = "default"))

Or you could call BiocGenerics:::testPackage(), but we probably all
agree it's better that unit testing have a documented, exported
function.



More information about the Bioc-devel mailing list