test_that("app ui", { ui <- app_ui() golem::expect_shinytaglist(ui) # Check that formals have not been removed fmls <- formals(app_ui) for (i in c("request")) { expect_true(i %in% names(fmls)) } }) test_that("app server", { server <- app_server expect_type(server, "closure") # Check that formals have not been removed fmls <- formals(app_server) for (i in c("input", "output", "session")) { expect_true(i %in% names(fmls)) } }) test_that( "app_sys works", { expect_true( app_sys("golem-config.yml") != "" ) } ) test_that( "golem-config works", { config_file <- app_sys("golem-config.yml") skip_if(config_file == "") expect_true( get_golem_config( "app_prod", config = "production", file = config_file ) ) expect_false( get_golem_config( "app_prod", config = "dev", file = config_file ) ) } ) # Configure this test to fit your need. # testServer() function makes it possible to test code in server functions and modules, without needing to run the full Shiny application testServer(app_server, { # Set and test an input session$setInputs(x = 2) expect_equal(input$x, 2) # Example of tests you can do on the server: # - Checking reactiveValues # expect_equal(r$lg, 'EN') # - Checking output # expect_equal(output$txt, "Text") }) # Configure this test to fit your need test_that( "app launches", { golem::expect_running(sleep = 5) } )