Combine R CMD build and junit
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
This is a post in the series Mixing R CMD build and ant. Previous posts have shown how to compile the java code that lives in the src directory of a package and how to document this code using javadoc.
This post tackles the problem of unit testing of the java functionality that is shipped as part of an R package. Java has several unit test platforms, we will use junit here, but similar things could be done with other systems such as testng, …
The helloJavaWorld package now looks like this :
.
|-- DESCRIPTION
|-- NAMESPACE
|-- R
| |-- helloJavaWorld.R
| `-- onLoad.R
|-- inst
| |-- doc
| | |-- helloJavaWorld.Rnw
| | |-- helloJavaWorld.pdf
| | `-- helloJavaWorld.tex
| `-- java
| |-- hellojavaworld-tests.jar
| `-- hellojavaworld.jar
|-- man
| `-- helloJavaWorld.Rd
`-- src
|-- Makevars
|-- build.xml
|-- junit
| `-- HelloJavaWorld_Test.java
|-- lib
| `-- junit-4.7.jar
`-- src
`-- HelloJavaWorld.java
9 directories, 15 files
We have added the src/lib directory that contains the junit library and the HelloJavaWorld_Test.java that contain a simple class with a unit test
And the ant build file has been changed in order to
- build the junit test cases, see the build-testcases target
- run the unit tests, see the test target
- create nice html reports, see the report target
The package can be downloaded here
Coming next, handling of dependencies between java code that lives in different R packages
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.