Test for output produced by print()
or cat()
. This is best used for
very simple output; for more complex cases use verify_output()
.
expect_output(
object,
regexp = NULL,
...,
info = NULL,
label = NULL,
width = 80
)
Object to test.
Supports limited unquoting to make it easier to generate readable failures within a function or for loop. See quasi_label for more details.
Regular expression to test against.
A character vector giving a regular expression that must match the output.
If NULL
, the default, asserts that there should output,
but doesn't check for a specific value.
If NA
, asserts that there should be no output.
Arguments passed on to expect_match
all
Should all elements of actual value match regexp
(TRUE),
or does only one need to match (FALSE).
perl
logical. Should Perl-compatible regexps be used?
fixed
logical. If TRUE
, pattern
is a string to be
matched as is. Overrides all conflicting arguments.
Extra information to be included in the message. This argument is soft-deprecated and should not be used in new code. Instead see alternatives in quasi_label.
Used to customise failure messages. For expert use only.
Number of characters per line of output. This does not
inherit from getOption("width")
so that tests always use the same
output width, minimising spurious differences.
The first argument, invisibly.
Other expectations:
comparison-expectations
,
equality-expectations
,
expect_error()
,
expect_length()
,
expect_match()
,
expect_named()
,
expect_null()
,
expect_reference()
,
expect_silent()
,
inheritance-expectations
,
logical-expectations
str(mtcars)
#> 'data.frame': 32 obs. of 11 variables:
#> $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
#> $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
#> $ disp: num 160 160 108 258 360 ...
#> $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
#> $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
#> $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
#> $ qsec: num 16.5 17 18.6 19.4 17 ...
#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
#> $ am : num 1 1 1 0 0 0 0 0 0 0 ...
#> $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
#> $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
expect_output(str(mtcars), "32 obs")
expect_output(str(mtcars), "11 variables")
# You can use the arguments of grepl to control the matching
expect_output(str(mtcars), "11 VARIABLES", ignore.case = TRUE)
expect_output(str(mtcars), "$ mpg", fixed = TRUE)