Использование shinytest для автоматического тестирования нескольких приложений в одном пакете - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь использовать shniytest для автоматического тестирования пары примеров приложений в каталоге примеров моего пакета, и у меня возникают проблемы. Приведу простой пример, который должен показать суть проблемы. У нас есть следующая файловая структура:

app  
  -app.R
tests
  -shinytest.R
  -shinytest
     -mytest.R

Файлы имеют следующую форму:

app.R:

library(shiny)
ui <- fluidPage()
server <- function(input, output, session) {}
shinyApp(ui, server)

shinytest.R:

library(shinytest)
shinytest::testApp("../app/")

mytest.R:

app <- ShinyDriver$new("../../app/")
app$snapshotInit("mytest")
app$snapshot()

Кроме того, прилагается пакет shinytest. Если я сейчас запускаю runTests () в cosole, я получаю сообщение об ошибке:

Error in shinytest.R
Error in findTestsDir(appDir, quiet = FALSE): tests/ directory doesn't exist

Error: Shiny App Test Failures detected in
* ./tests/shinytest.R

Если я вынесу app.R из приложения каталога, т.е. измените структуру каталогов на

app.R
tests
  -shinytest.R
  -shinytest
     -mytest.R

и адаптировать пути в shinytest.R и mytest.R к новой структуре, runTests работает плавно, без ошибок. Но это не то, что мне нужно, так как я хочу протестировать несколько примеров в каталоге примеров моего пакета.

Я использую shinytest 1.4.0, shiny 1.5.0, testthat 2.3.2, R версии 3.6.3 on Pop! _OS Linux.

Мы высоко ценим любые советы или предложения, как запустить мой пример.

...