testthat (version 2.0.1)

quasi_label: Quasi-labelling

Description

The first argument to every expect_ function can use unquoting to construct better labels. This makes it easy to create informative labels expectations are used inside a function or a for loop. quasi_label() wraps up the details, returning the expression and label.

Usage

quasi_label(quo, label = NULL)

Arguments

quo

A quosure created by rlang::enquo().

label

An optional label to override the default. This is only provided for internal usage. Modern expectations should not include a label parameter.

Value

A list containing two elements:

val

The evaluate value of quo

lab

The quasiquoted label generated from quo

Examples

Run this code
# NOT RUN {
f <- function(i) if (i > 3) i * 9 else i * 10
i <- 10

# This short of expression commonly occurs inside a for loop or function
# And the failure isn't helpful because you can't see the value of i
# that caused the problem:
show_failure(expect_equal(f(i), i * 10))

# To overcome this issue, testthat allows you to unquote expressions using
# !!. This causes the failure message to show the value rather than the
# variable name
show_failure(expect_equal(f(!!i), !!(i * 10)))
# }

Run the code above in your browser using DataLab