R tests in asterics
This post describes how R unit tests are organized and managed in asterics using testthat.
Tests organization
Tests are present in the directory backend/R/tests in separate files starting with test- (this is mandatory for the test to be run). In addition, as a naming convention, each test refers to a single function and is named from this function (for instance, the tests for r_multivariate_dotplot are in the file test-rmultivariatedotplot). They are all based on the testthat package and can be executed with this **R** command line:
test_dir("backend/R/tests")
(if launched from the project root directory)
Automatic testing at the project startup
Tests are launched at the project startup within **R** with:
tests <- TRUE
source("backend/R/conf_wd.R")
Tests and branch merging
When a branch is merged,
- either this branch pre-existed before the merging of tests into
devand the merging of the branch has to be done with: 1/ git merging of the branch intodev; 2/ testing everything with a session restart; 3/ systematically correcting failed tests and documentation accordingly directly indev, - either this branch was creating after test support has been merged into
dev. In this case, tests have to be performed and fixed along with documentation before merging intodev.