Тест не пройден, потому что RStudio не работает - PullRequest
0 голосов
/ 25 сентября 2019

Я не уверен, как проверить функцию в моем пакете, которая запускает блестящее приложение на панели просмотра.Когда я запускаю devtools::test(), он работает нормально, но когда я запускаю devtools::check(), я получаю сообщение об ошибке, что RStudio не работает.Это упрощенная версия кода:

library(shiny)
library(testthat)

view_ui <- function(x) {
  app <-
    shinyApp(
      ui = fluidPage(x),
      server = function(input, output) {Sys.sleep(5);stopApp()}
    )

  runApp(
    app,
    launch.browser = rstudioapi::viewer
  )
}

Вот моя попытка теста:

test_that("app runs", {
  x <- selectInput("n", "select number:", 1:10)

  expect_message(
    view_ui(x),
    regexp = "Listening"
  )
})

Я знаю, что это строка rstudioapi::viewer, которая вызывает ее сбойпотому что devtools::check() не запускает тесты в интерактивном режиме.Я в тупике.Единственная функция expects...(), о которой я мог подумать, это expect_message(), потому что Listening on http:... печатается в консоли во время работы приложения.

Как правильно проверить, что приложение запускается?

Для справки я посмотрел эту статью, но не смог воспроизвести методы: https://rtask.thinkr.fr/building-a-shiny-app-as-a-package/

...