Calculate module coverage of unit tests

Share:

Description

Calculate the test coverage by unit tests for the module and its functions.

Usage

1
2
3
4
5
6
7
moduleCoverage(name, path)

## S4 method for signature 'character,character'
moduleCoverage(name, path)

## S4 method for signature 'character,missing'
moduleCoverage(name)

Arguments

name

Character string. The module's name.

path

Character string. The path to the module directory (default is the current working directory).

Value

Return a list of two coverage objects and two data.table objects. The two coverage objects are named 'moduleCoverage' and 'functionCoverage'. The 'moduleCoverage' object contains the percent value of unit test coverage for the module. The 'functionCoverage' object contains percentage values for unit test coverage for each function defined in the module. Please use shine to view the coverage information. Two data.tables give the information of all the tested and untested functions in the module.

Note

When running this function, the test files must be strictly placed in the ‘tests/testthat/’ directory under module path. To automatically generate this folder, please set unitTests = TRUE when creating a new module using newModule. To accurately test your module, the test filename must follw the format test-functionName.R.

Author(s)

Yong Luo

See Also

newModule.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## Not run: 
 library(igraph) # for %>%
 library(SpaDES)
 tmpdir <- file.path(tempdir(), "coverage")
 modulePath <- file.path(tmpdir, "Modules") %>% checkPath(create = TRUE)
 moduleName <- "forestAge" # sample module to test
 downloadModule(name = moduleName, path = modulePath) # download sample module
 testResults <- moduleCoverage(name = moduleName, path = modulePath)
 shine(testResults$moduleCoverage)
 shine(testResults$functionCoverage)
 unlink(tmpdir, recursive = TRUE)

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.