RUnit v0.4.32

0

Monthly downloads

0th

Percentile

R Unit Test Framework

R functions implementing a standard Unit Testing framework, with additional code inspection and report generation tools.

Readme

RUnit

CRAN_Status_Badge CRAN Downloads Travis-CI Build Status

RUnit is a testing package for R code, inspired by the xUnit family of testing tools.

Originally implemented by Thomas Koenig, Klaus Juenemann, and Matthias Burger, this package has served the R community for over a decade.

Since RUnit is no longer actively developed, I provide maintenance of this package mostly to support older projects that still rely on RUnit.

Using RUnit

To make RUnit work with R CMD check, create a following file in the tests subdirectory. This would run the actual tests stored in the packages inst/tests subdirectory.

# Our package. Used for the test suite name
pkgname <- "your package name"
require(pkgname, quietly=TRUE, character.only=TRUE) || stop("package '", pkgname, "' not found")

# How to determine which files to load (have to start with test_ and end with .R)
pattern <- "^test_.*\\.R$"

# Which functions to run. Have to start with 'test.'
testFunctionRegexp = "^test.+"

# Path to the unit tests folder in the package
dir <- system.file(subdir, package=pkgname)

# Define RUnit test suite
suite <- defineTestSuite(name=paste(pkgname, "RUnit Tests"),
                         dirs=dir,
                         testFileRegexp=pattern,
                         testFuncRegexp = testFunctionRegexp,
                         rngKind="default",
                         rngNormalKind="default")

# Run tests
result <- runTestSuite(suite)

# Display result tests on the console
printTextProtocol(result)

# Write results in JUnit-like xml format
printJUnitProtocol(result, fileName="junit.xml")

A typical unit test would then live for example in inst/tests/test.operations.R. Each such file can contain multiple functions like so:

test.additionWorks <- function() {
  checkEquals(2, 1+1, "one plus one must be two")
}

test.divisionByZeroFails <- function() {
  checkException(1/0, "division by zero is expected to fail")
}

Functions in RUnit

Name Description
RUnit-internal Internal functions
options RUnit options
tracker Tracking the results of the inspect process.
inspect Track the executed code lines of a function or method.
textProtocol Printing a plain text, HTML or JUnit-like XML version of an RUnit test run protocol.
RUnit RUnit - Package Description
printHTML.trackInfo Write HTML pages of the tracking result.
checkFuncs RUnit check functions
.setUp Definition of RUnit Test Case code files.
runTestSuite Definition and execution of RUnit test suites.
No Results!

Vignettes of RUnit

Name
RUnit.Rnw
No Results!

Last month downloads

Details

Date 2018-05-07
LazyLoad yes
License GPL-2
NeedsCompilation no
Packaged 2018-05-18 16:00:38 UTC; m044910
Repository CRAN
Date/Publication 2018-05-18 16:32:53 UTC

Include our badge in your README

[![Rdoc](http://www.rdocumentation.org/badges/version/RUnit)](http://www.rdocumentation.org/packages/RUnit)