These functions allow you to capture the side-effects of a function call including printed output, messages and warnings. They are used to evaluate code for expect_output(), expect_message(), expect_warning(), and expect_silent().

capture_condition(code)

capture_error(code)

capture_expectation(code)

capture_message(code)

capture_warning(code)

capture_messages(code)

capture_warnings(code)

Arguments

code

Code to evaluate

Value

Singular functions (capture_condition, capture_expectation etc) return a condition object. capture_messages() and capture_warnings return a character vector of message text.

Examples

f <- function() { message("First") warning("Second") message("Third") } capture_message(f())
#> <simpleMessage in message("First"): First #> >
capture_messages(f())
#> Warning: Second
#> [1] "First\n" "Third\n"
capture_warning(f())
#> First
#> <simpleWarning in f(): Second>
capture_warnings(f())
#> First
#> Third
#> [1] "Second"
# Condition will capture anything capture_condition(f())
#> <simpleMessage in message("First"): First #> >