User Tools

Site Tools


development:unit_testing_in_r

This is an old revision of the document!


OHDSI unit testing for R follows the standard R practice using test_that: A folder named 'tests' is created in the root of the package, and this folder contains

  • A sub-folder called 'testthat`
  • A file called 'testthat.R'

The file 'testthat.R' should have the following content:

library(testthat)
library(<package name>)
test_check("<package name>")

The sub-folder 'testthat` should contain one or more R scripts whose file name starts with 'test-' (e.g. 'test-connection.R'. Each file should contain one or more `test_that` blocks, for example

test_that("Function x returns 2", {
  expect_equal(x(), 2)
})

When unit tests are performed

Unit tests are triggered when

  • You manually perform a check of the R package (see the Build tab in R-Studio)
  • When the OHDSI Travis CI Server automatically builds the package after a push to the repository

Your collaborators will appreciate it if you make sure the package passes check before pushing changes to the repository.

Code coverage

We use codecov in combination with the covr package to measure which lines of codes are covered by at least one unit test. Two additions need to be made to .travis.yml to enable code coverage:

  • Add - ./travis-tool.sh install_github jimhester/covr to the install section
  • Add - Rscript -e 'library(covr);codecov()' to the after_success section
development/unit_testing_in_r.1435634646.txt.gz · Last modified: 2015/06/30 03:24 by schuemie