test_app {shinytest2} | R Documentation |
This is a helper method that wraps around testthat::test_dir()
to test your Shiny application or Shiny runtime document. This is similar to how testthat::test_check()
tests your R package but for your app.
test_app(app_dir = missing_arg(), ..., check_setup = TRUE)
app_dir |
The base directory for the Shiny application.
|
... |
Parameters passed to |
check_setup |
If |
When setting up tests for your app,
Example usage:
## Interactive usage # Test Shiny app in current working directory shinytest2::test_app() # Test Shiny app in another directory path_to_app <- "path/to/app" shinytest2::test_app(path_to_app) ## File: ./tests/testthat.R # Will find Shiny app in "../" shinytest2::test_app() ## File: ./tests/testthat/test-shinytest2.R # Test a shiny application within your own {testthat} code test_that("Testing a Shiny app in a package", { shinytest2::test_app(path_to_app) })
When testing an application, all non-temp files that are uploaded should be
located in the ./tests/testthat
directory. This allows for tests to be more
portable and self contained.
When recording a test with record_test()
, for every uploaded file that is
located outside of ./tests/testthat
, a warning will be thrown. Once the
file path has be fixed, you may remove the warning statement.
test_app()
is an opinionated testing function that will only execute
testthat tests in the ./tests/testthat
folder. If (for some rare
reason) you have other non-testthat tests to execute, you can call
shiny::runTests()
. This method will generically run all test runners and
their associated tests.
# Execute a single Shiny app's {testthat} file such as `./tests/testthat/test-shinytest2.R` test_app(filter = "shinytest2") # Execute all {testthat} tests test_app() # Execute all tests for all test runners shiny::runTests()
record_test()
to create tests to record against your Shiny application.
testthat::snapshot_review()
and testthat::snapshot_accept()
if
you want to compare or update snapshots after testing.
load_app_env()
to load the Shiny application's helper files.
This is only necessary if you want access to the values while testing.