tests/testthat/test-app-rmd.R

test_that("Shiny R Markdown documents can test", {
  skip_if_no_apps()

  app <- AppDriver$new(test_path("apps/rmd-shiny"), seed = 9767, name = "shiny")

  app$set_inputs(name = "barret")
  app$click("greet")
  app$expect_values(input = TRUE, output = "greeting")
  expect_equal(
    app$get_value(output = "greeting"),
    "Hello barret!"
  )
})


test_that("Prerendered Shiny R Markdown documents can test", {
  skip_if_no_apps()

  app <- AppDriver$new(test_path("apps/rmd-pre"), seed = 9767, name = "pre")

  app$set_inputs(name = "barret")
  app$click("greet")
  app$expect_values()
  expect_equal(
    app$get_value(output = "greeting"),
    "Hello barret!"
  )
})


test_that("Regular Rmd files are ignored", {
  skip_if_no_apps()

  app <- AppDriver$new(
    test_path("apps/rmd-not-shiny"),
    seed = 9767,
    name = "not"
  )

  expect_equal(
    app$get_value(output = "format_type"),
    "PDF"
  )
})

Try the shinytest2 package in your browser

Any scripts or data that you put into this service are public.

shinytest2 documentation built on Jan. 10, 2026, 1:07 a.m.