testex
test examples Add tests and assertions in-line in examples
Set up your package to use testex
using
testex::use_testex()
and then start adding tests!
#' Hello, World!
#'
#' @examples
#' hello("World")
#' @test "Hello, World!"
#'
#' hello("darkness my old friend")
#' @test grepl("darkness", .)
#'
#' @export
hello <- function(who) {
paste0("Hello, ", who, "!")
}
If you were already using testthat
, you'll immediately see a new test
context for testing your examples. And if you aren't using testthat
, then
you'll find that your tests are being run with your examples when you run
R CMD check
roxygen2
tags@test
will check that the result of the last example is identical to your test. You
can use the example output in a function using a .
.
#' @examples
#' sum(1:10)
#' @test 55
#' @test is.numeric(.)
@testthat
is similar, but has the added benefit of automatically inserting a .
into
testthat::expect_*
functions.
#' @examples
#' sum(1:10)
#' @testthat expect_equal(55)
#' @testthat expect_vector(numeric())
roxytest
A slightly different approach. Allows tests to be written in-line, but
generates test files used directly by a testing framework.Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.