Skip to contents

When you use pkg_inform() to signal messages, you can use this function to test that those messages are generated as expected.

Usage

expect_pkg_message_classes(object, package, ...)

Arguments

object

An expression that is expected to throw a message.

package

(length-1 character) The name of the package to use in classes.

...

(character) Components of the class name, from least-specific to most.

Value

The message condition invisibly. Assignments made inside object (e.g. result <- fn_that_informs()) are visible to the caller after this function returns. Unlike most testthat expectations, this expectation cannot be usefully chained.

Examples

expect_pkg_message_classes(
  pkg_inform("stbl", "This is a test message", "test_subclass"),
  "stbl",
  "test_subclass"
)
try(
  expect_pkg_message_classes(
    pkg_inform("stbl", "This is a test message", "test_subclass"),
    "stbl",
    "different_subclass"
  )
)
#> Error : Expected `captured` to have class "stbl-message-different_subclass"/"stbl-message"/"stbl-condition"/"rlang_message"/"message"/"condition".
#> Actual class: "stbl-message-test_subclass"/"stbl-message"/"stbl-condition"/"rlang_message"/"message"/"condition".