----- Original Message ----- > From: "Michael Love" <michaelisaiahl...@gmail.com> > To: bioc-devel@r-project.org > Sent: Friday, March 13, 2015 6:06:39 PM > Subject: [Bioc-devel] testthat instructions for website > > 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 >
One thing to be aware of is that if a package uses RUnit and has a unit test fail, the detailed output of the failed test will be in the build report. If a package uses testthat and has a test fail, the detailed output will NOT be in the report. So the build system needs to be tweaked to support this. Until that happens, I hesitate to recommend that people use testthat because they won't get to see the detailed output that they can see uf they use RUnit. Dan > 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. > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel > _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel