32.2 Basic use of the testthat
package
Create a file called <packagename>/tests/testthat.R
with the following contents:
library(testthat)
library(mypackage)
test_check("mypackage")
Tests should be placed in <packagename>/tests/testthat/test-<sourcefilename>.R
, and look like the following:
test_that("mathematical operators plus and minus work as expected",{
expect_equal(sum(1,1), 2)
expect_equal(sum(-1,-1), -2)
expect_equal(sum(1,NA), NA)
expect_error(sum("cat"))
set.seed(0)
expect_equal(sum(matrix(1:100)), sum(data.frame(1:100)))
})
test_that("different testing functions work, giving excuse to demonstrate",{
expect_identical(1, 1)
expect_identical(numeric(1), integer(1))
expect_equivalent(numeric(1), integer(1))
expect_warning(mean('1'))
expect_that(mean('1'), gives_warning("argument is not numeric or logical: returning NA"))
expect_warning(mean('1'), "argument is not numeric or logical: returning NA")
expect_message(message("a"), "a")
})