Développer des packages R
Jasmin Ludolf
Content Developer
Dans le package testthat :
expect_equal() : égalité avec petite toléranceexpect_identical() : égalité exacte
expect_output() : correspondance du texte produit par l'appel à object
expect_error() : erreur produite par l'appel à objectexpect_warning() : avertissement produit par l'appel à object#' @examples
#' # Convert 32F to C
#' temp_converter(32, "Fahrenheit", "Celsius")
[1] 0
Dans le fichier tests/testthat/test-temp_converter.R :
library(testthat) expect_equal(object = temp_converter(32, "Fahrenheit", "Celsius"),expected = 0)
expect_identical()expect_identical(sqrt(3) ^ 2, 3)
Error: sqrt(3)^2 (`actual`) not
identical to 3 (`expected`).
`actual`: 2.9999999999999996
`expected`: 3.0000000000000000
expect_equal()expect_equal() pour comparer des valeurs numériquesexpect_equal(sqrt(3) ^ 2, 3)
expect_equal()tolerance : valeur par défaut généralement suffisanteexpect_output(print("Testing R Packages is fun"),"funk")
Error: `print\("Testing R Packages is
fun"\)` does not match "funk".
Actual value: "\[1\] "Testing R
Packages is fun""

expect_warning(
temp_converter(-40,
"Celsius",
"Celsius")
)

expect_error(
temp_converter(300,
"Kelvin",
"Fahrenheit")
)

Développer des packages R