R: Quasi-labelling

quasi_label {testthat} | R Documentation

## 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

    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)))

[Package testthat version 2.0.1 Index]