This function registers expressions that will be evaluated when a test export event occurs. These events are triggered by accessing a snapshot URL.
exportTestValues(
...,
quoted_ = FALSE,
env_ = parent.frame(),
session_ = getDefaultReactiveDomain()
)
This function only has an effect if the app is launched in test mode. This is
done by calling runApp()
with test.mode=TRUE
, or by setting the
global option shiny.testmode
to TRUE
.
## Only run this example in interactive R sessions
if (interactive()) {
options(shiny.testmode = TRUE)
# This application shows the test snapshot URL; clicking on it will
# fetch the input, output, and exported values in JSON format.
shinyApp(
ui = basicPage(
h4("Snapshot URL: "),
uiOutput("url"),
h4("Current values:"),
verbatimTextOutput("values"),
actionButton("inc", "Increment x")
),
server = function(input, output, session) {
vals <- reactiveValues(x = 1)
y <- reactive({ vals$x + 1 })
observeEvent(input$inc, {
vals$x <<- vals$x + 1
})
exportTestValues(
x = vals$x,
y = y()
)
output$url <- renderUI({
url <- session$getTestSnapshotUrl(format="json")
a(href = url, url)
})
output$values <- renderText({
paste0("vals$x: ", vals$x, "\ny: ", y())
})
}
)
}